summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorshishir gowda <shishirng@gluster.com>2011-04-07 04:45:40 +0000
committerAnand Avati <avati@gluster.com>2011-04-17 23:44:40 -0700
commit67705d888c4e038f188da8a21ade8db447cd7009 (patch)
tree962d5fb0fb2bc40243ac700b9e56a86aef9a8f4b
parent72b57e311fe8634d26b4c56a78016f9359208443 (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
-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 5cf19d017..35bf180f5 100644
--- a/xlators/cluster/dht/src/dht-common.c
+++ b/xlators/cluster/dht/src/dht-common.c
@@ -4490,6 +4490,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;
}