diff options
author | Pranith Kumar K <pkarampu@redhat.com> | 2017-01-03 12:50:54 +0530 |
---|---|---|
committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2017-01-05 06:07:17 -0800 |
commit | 0b9af18eade6583299b88b4e685b02114db7834a (patch) | |
tree | 979430bc5675e584c9f9a1e71871025d1f0cb8dc | |
parent | 2f4898de4c3dda7072c02cf2f799d71d349016af (diff) |
cluster/dht: Do rename cleanup as root
Problem:
Rename linkfile cleanup is done as non-root which may not have priviliges to do
the rename so it fails with EACCESS. MKDIR on that name in future will start to
hole on this subvolume. It is not easy to hit on fuse mounts because vfs takes
care of the permission checks even before rename fop is wound. But with
nfs-ganesha mounts it happens.
Fix:
Do rename cleanup as root
BUG: 1409727
Change-Id: I414c1eb6dce76b4516a6c940557b249e6c3f22f4
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/16317
Smoke: Gluster Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-by: N Balachandran <nbalacha@redhat.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
-rw-r--r-- | xlators/cluster/dht/src/dht-rename.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/xlators/cluster/dht/src/dht-rename.c b/xlators/cluster/dht/src/dht-rename.c index a9ffd1d9fb5..d955ee411eb 100644 --- a/xlators/cluster/dht/src/dht-rename.c +++ b/xlators/cluster/dht/src/dht-rename.c @@ -724,6 +724,7 @@ dht_rename_cleanup (call_frame_t *frame) DHT_MARKER_DONT_ACCOUNT(xattr_new); + FRAME_SU_DO (frame, dht_local_t); STACK_WIND (frame, dht_rename_unlink_cbk, dst_hashed, dst_hashed->fops->unlink, &local->loc, 0, xattr_new); |