summaryrefslogtreecommitdiffstats
path: root/xlators
diff options
context:
space:
mode:
authorshishir gowda <shishirng@gluster.com>2011-04-11 03:44:24 +0000
committerAnand Avati <avati@gluster.com>2011-04-11 03:52:39 -0700
commit96f01bf9e877f352dd893605397e0d8d1f4d993e (patch)
tree27d55948711170f1a1254261fe0f9fd7ec0e516d /xlators
parent4a55375f93ef5b14b6004da49b7be343a9090692 (diff)
DHT: Propogate error if dht_rmdir_opendir_cbk
Earlier rmdir would succeed on all up subvols, but fuse would get an error if one of the subvol was down. In follow up lookup, self heal would be triggered, and since st_mode would be 0, the permissions would be bad. The behaviour now is to fail rmdir if subvol is down Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2591 (Directories changing to d--------- permission after trying to delete) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2591
Diffstat (limited to 'xlators')
-rw-r--r--xlators/cluster/dht/src/dht-common.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c
index 5454bf33efe..83ec81ff342 100644
--- a/xlators/cluster/dht/src/dht-common.c
+++ b/xlators/cluster/dht/src/dht-common.c
@@ -4374,6 +4374,8 @@ dht_rmdir_opendir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
"opendir on %s for %s failed (%s)",
prev->this->name, local->loc.path,
strerror (op_errno));
+ local->op_ret = -1;
+ local->op_errno = op_errno;
goto err;
}