summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-syncop.h
diff options
context:
space:
mode:
authorPranith Kumar K <pranithk@gluster.com>2012-04-23 10:49:02 +0530
committerAnand Avati <avati@redhat.com>2012-04-23 13:11:49 -0700
commiteb9003cdca755980da9ed5a3a3fb0fc52c750131 (patch)
tree7ed1f88457bfa0ed2cfdf2cb1ede2a50cc966b59 /xlators/mgmt/glusterd/src/glusterd-syncop.h
parentfc024df2b6f9307f23a4a0800103555708036b17 (diff)
libglusterfs: Never block syncproc
Change-Id: I64cd8a2ef37926173c19a33df0716183530e22bf BUG: 814074 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.com/3194 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-syncop.h')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-syncop.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-syncop.h b/xlators/mgmt/glusterd/src/glusterd-syncop.h
index 44f983c29..a3cc0ab47 100644
--- a/xlators/mgmt/glusterd/src/glusterd-syncop.h
+++ b/xlators/mgmt/glusterd/src/glusterd-syncop.h
@@ -28,11 +28,15 @@
/* gd_syncop_* */
#define GD_SYNCOP(rpc, stb, cbk, req, prog, procnum, xdrproc) do { \
int ret = 0; \
+ struct synctask *task = NULL; \
+ task = synctask_get (); \
+ stb->task = task; \
+ \
ret = gd_syncop_submit_request (rpc, req, stb, \
prog, procnum, cbk, \
(xdrproc_t)xdrproc); \
if (!ret) \
- __yield (stb); \
+ synctask_yield (stb->task); \
} while (0)