summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPranith Kumar K <pkarampu@redhat.com>2017-01-03 12:50:54 +0530
committerPranith Kumar Karampuri <pkarampu@redhat.com>2017-01-05 06:07:17 -0800
commit0b9af18eade6583299b88b4e685b02114db7834a (patch)
tree979430bc5675e584c9f9a1e71871025d1f0cb8dc
parent2f4898de4c3dda7072c02cf2f799d71d349016af (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.c1
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);