From a911e31d082f3f6a2ca6e8e56df9bf5c2638cbb7 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Mon, 31 Dec 2012 23:58:03 -0600 Subject: [PATCH] wimfs_link(): Tweak error codes --- src/mount_image.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/mount_image.c b/src/mount_image.c index e5d7fb98..d2ce94b2 100644 --- a/src/mount_image.c +++ b/src/mount_image.c @@ -1613,15 +1613,13 @@ static int wimfs_link(const char *to, const char *from) if (!inode) return -errno; - if (inode->i_attributes & FILE_ATTRIBUTE_REPARSE_POINT) - return -EEXIST; - - if (inode->i_attributes & FILE_ATTRIBUTE_DIRECTORY) + if (inode->i_attributes & (FILE_ATTRIBUTE_DIRECTORY | + FILE_ATTRIBUTE_REPARSE_POINT)) return -EPERM; from_dentry_parent = get_parent_dentry(w, from); if (!from_dentry_parent) - return -ENOENT; + return -errno; if (!dentry_is_directory(from_dentry_parent)) return -ENOTDIR; @@ -1779,7 +1777,7 @@ static int wimfs_open(const char *path, struct fuse_file_info *fi) } ret = alloc_wimfs_fd(inode, stream_id, lte, &fd, - wimfs_ctx_readonly(ctx)); + wimfs_ctx_readonly(ctx)); if (ret != 0) return ret; -- 2.43.0