From b4597a92ccfebf362c63977bc4bada7b65e28753 Mon Sep 17 00:00:00 2001 From: vmallika Date: Thu, 13 Nov 2014 15:13:39 +0530 Subject: uss/gluster: creating file/directories inside .snaps should fail with EROFS When an attempt is made to create file/directories inside .snaps, it fails with wrong error message as "Stale file handle". It should fail with "Read-only file system" Change-Id: I3a812a0afc4762cbb71ab180b9394c866e576a66 BUG: 1159840 Signed-off-by: vmallika Reviewed-on: http://review.gluster.org/9039 Tested-by: Gluster Build System Reviewed-by: Vijay Bellur --- .../features/snapview-client/src/snapview-client.c | 34 +++++++++++----------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'xlators/features/snapview-client') diff --git a/xlators/features/snapview-client/src/snapview-client.c b/xlators/features/snapview-client/src/snapview-client.c index 608081b1c30..5bb60d66dd6 100644 --- a/xlators/features/snapview-client/src/snapview-client.c +++ b/xlators/features/snapview-client/src/snapview-client.c @@ -489,7 +489,7 @@ svc_setattr (call_frame_t *frame, xlator_t *this, loc_t *loc, valid, xdata); } else { op_ret = -1; - op_errno = EPERM; + op_errno = EROFS; goto out; } @@ -532,7 +532,7 @@ svc_fsetattr (call_frame_t *frame, xlator_t *this, fd_t *fd, struct iatt *stbuf, valid, xdata); } else { op_ret = -1; - op_errno = EPERM; + op_errno = EROFS; goto out; } @@ -639,7 +639,7 @@ svc_setxattr (call_frame_t *frame, xlator_t *this, loc_t *loc, dict_t *dict, flags, xdata); } else { op_ret = -1; - op_errno = EPERM; + op_errno = EROFS; goto out; } @@ -683,7 +683,7 @@ svc_fsetxattr (call_frame_t *frame, xlator_t *this, fd_t *fd, dict_t *dict, flags, xdata); } else { op_ret = -1; - op_errno = EPERM; + op_errno = EROFS; goto out; } @@ -728,7 +728,7 @@ svc_rmdir (call_frame_t *frame, xlator_t *this, loc_t *loc, int flags, xdata); } else { op_ret = -1; - op_errno = EPERM; + op_errno = EROFS; goto out; } @@ -800,7 +800,7 @@ svc_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode, umask, xdata); } else { op_ret = -1; - op_errno = EPERM; + op_errno = EROFS; goto out; } @@ -871,7 +871,7 @@ svc_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode, rdev, umask, xdata); } else { op_ret = -1; - op_errno = EPERM; + op_errno = EROFS; goto out; } @@ -885,7 +885,7 @@ out: } /* If the flags of the open call contain O_WRONLY or O_RDWR and the inode is - a virtual inode, then unwind the call back with EPERM. Otherwise simply + a virtual inode, then unwind the call back with EROFS. Otherwise simply STACK_WIND the call to the first child of svc xlator. */ int32_t @@ -994,7 +994,7 @@ svc_create (call_frame_t *frame, xlator_t *this, mode, umask, fd, xdata); } else { op_ret = -1; - op_errno = EPERM; + op_errno = EROFS; goto out; } @@ -1066,7 +1066,7 @@ svc_symlink (call_frame_t *frame, xlator_t *this, const char *linkpath, umask, xdata); } else { op_ret = -1; - op_errno = EPERM; + op_errno = EROFS; goto out; } @@ -1109,7 +1109,7 @@ svc_unlink (call_frame_t *frame, xlator_t *this, loc_t *loc, int flags, xdata); } else { op_ret = -1; - op_errno = EPERM; + op_errno = EROFS; goto out; } @@ -1368,7 +1368,7 @@ svc_rename (call_frame_t *frame, xlator_t *this, loc_t *oldloc, gf_log (this->name, GF_LOG_ERROR, "rename happening on a entry" " %s residing in snapshot", oldloc->name); op_ret = -1; - op_errno = EPERM; + op_errno = EROFS; goto out; } @@ -1379,7 +1379,7 @@ svc_rename (call_frame_t *frame, xlator_t *this, loc_t *oldloc, "happening to a entry %s residing in snapshot", oldloc->name, newloc->name); op_ret = -1; - op_errno = EPERM; + op_errno = EROFS; goto out; } } @@ -1392,7 +1392,7 @@ svc_rename (call_frame_t *frame, xlator_t *this, loc_t *oldloc, "happening to a entry %s residing in snapshot", oldloc->name, newloc->name); op_ret = -1; - op_errno = EPERM; + op_errno = EROFS; goto out; } } @@ -1436,7 +1436,7 @@ svc_link (call_frame_t *frame, xlator_t *this, loc_t *oldloc, loc_t *newloc, gf_log (this->name, GF_LOG_ERROR, "rename happening on a entry" " %s residing in snapshot", oldloc->name); op_ret = -1; - op_errno = EPERM; + op_errno = EROFS; goto out; } @@ -1446,7 +1446,7 @@ svc_link (call_frame_t *frame, xlator_t *this, loc_t *oldloc, loc_t *newloc, "happening to a entry %s residing in snapshot", oldloc->name, newloc->name); op_ret = -1; - op_errno = EPERM; + op_errno = EROFS; goto out; } @@ -1493,7 +1493,7 @@ svc_removexattr (call_frame_t *frame, xlator_t *this, loc_t *loc, name, xdata); } else { op_ret = -1; - op_errno = EPERM; + op_errno = EROFS; goto out; } -- cgit