diff --git a/library/files/file b/library/files/file index 32588e56e6..8d3a71a237 100644 --- a/library/files/file +++ b/library/files/file @@ -189,10 +189,11 @@ def main(): elif state in ['link','hard']: - absrc = src - if not os.path.isabs(absrc): - absrc = os.path.abspath(src) - + if os.path.isdir(path): + relpath = path + else: + relpath = os.path.dirname(path) + absrc = os.path.normpath('%s/%s' % (relpath, os.path.basename(src))) if not os.path.exists(absrc) and not force: module.fail_json(path=path, src=src, msg='src file does not exist, use "force=yes" if you really want to create the link: %s' % absrc)