summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr/src/afr.h
diff options
context:
space:
mode:
authorRavishankar N <ravishankar@redhat.com>2015-09-14 15:43:31 +0530
committerPranith Kumar Karampuri <pkarampu@redhat.com>2015-09-15 19:27:44 -0700
commit5c20e71dcadbbf6f7509e24257e7bd69375ae220 (patch)
treefd8de2e6ed1ca59e868836a90f5cf716c22b9430 /xlators/cluster/afr/src/afr.h
parent57dfa97d4f84d426969591d3c0c674bdd54de450 (diff)
afr: perform replace-brick in a synctask
Backport of http://review.gluster.org/#/c/12169/ Problem: replace-brick setxattr is not performed inside a synctask. This can lead to hangs if the setxattr is executed by epoll thread, as the epoll thread will be waiting for replies to come where as epoll thread is the thread that needs to epoll_ctl for reading from socket and listen. Fix: Move replace-brick to synctask to prevent epoll thread hang. This patch is in line with the fix performed in http://review.gluster.org/#/c/12163/ Change-Id: I7284930ead9b0adaa0257f21ec2d893fa5a7146f BUG: 1262547 Signed-off-by: Ravishankar N <ravishankar@redhat.com> Reviewed-on: http://review.gluster.org/12172 Tested-by: NetBSD Build System <jenkins@build.gluster.org> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Diffstat (limited to 'xlators/cluster/afr/src/afr.h')
-rw-r--r--xlators/cluster/afr/src/afr.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/xlators/cluster/afr/src/afr.h b/xlators/cluster/afr/src/afr.h
index 870d26b7689..6a14febec0a 100644
--- a/xlators/cluster/afr/src/afr.h
+++ b/xlators/cluster/afr/src/afr.h
@@ -760,6 +760,12 @@ typedef struct afr_spb_status {
loc_t *loc;
} afr_spb_status_t;
+typedef struct afr_replace_brick_args {
+ call_frame_t *frame;
+ loc_t loc;
+ int rb_index;
+} afr_replace_brick_args_t;
+
typedef struct afr_read_subvol_args {
ia_type_t ia_type;
uuid_t gfid;