diff options
Diffstat (limited to 'xlators/protocol')
-rw-r--r-- | xlators/protocol/client/src/client.c | 3 | ||||
-rw-r--r-- | xlators/protocol/client/src/client3_1-fops.c | 1 | ||||
-rw-r--r-- | xlators/protocol/server/src/server3_1-fops.c | 4 |
3 files changed, 6 insertions, 2 deletions
diff --git a/xlators/protocol/client/src/client.c b/xlators/protocol/client/src/client.c index 4297c628d..e64d8135f 100644 --- a/xlators/protocol/client/src/client.c +++ b/xlators/protocol/client/src/client.c @@ -444,7 +444,7 @@ out: } int32_t -client_rmdir (call_frame_t *frame, xlator_t *this, loc_t *loc) +client_rmdir (call_frame_t *frame, xlator_t *this, loc_t *loc, int flags) { int ret = -1; clnt_conf_t *conf = NULL; @@ -456,6 +456,7 @@ client_rmdir (call_frame_t *frame, xlator_t *this, loc_t *loc) goto out; args.loc = loc; + args.flags = flags; proc = &conf->fops->proctable[GF_FOP_RMDIR]; if (proc->fn) diff --git a/xlators/protocol/client/src/client3_1-fops.c b/xlators/protocol/client/src/client3_1-fops.c index f4a9b1988..9b6d2bb71 100644 --- a/xlators/protocol/client/src/client3_1-fops.c +++ b/xlators/protocol/client/src/client3_1-fops.c @@ -2855,6 +2855,7 @@ client3_1_rmdir (call_frame_t *frame, xlator_t *this, memcpy (req.pargfid, args->loc->parent->gfid, 16); req.path = (char *)args->loc->path; req.bname = (char *)args->loc->name; + req.flags = args->flags; conf = this->private; ret = client_submit_request (this, &req, frame, conf->fops, diff --git a/xlators/protocol/server/src/server3_1-fops.c b/xlators/protocol/server/src/server3_1-fops.c index d156e3cc3..b996778ef 100644 --- a/xlators/protocol/server/src/server3_1-fops.c +++ b/xlators/protocol/server/src/server3_1-fops.c @@ -1956,7 +1956,7 @@ server_rmdir_resume (call_frame_t *frame, xlator_t *bound_xl) goto err; STACK_WIND (frame, server_rmdir_cbk, - bound_xl, bound_xl->fops->rmdir, &state->loc); + bound_xl, bound_xl->fops->rmdir, &state->loc, state->flags); return 0; err: server_rmdir_cbk (frame, NULL, frame->this, state->resolve.op_ret, @@ -4256,6 +4256,8 @@ server_rmdir (rpcsvc_request_t *req) state->resolve.path = gf_strdup (args.path); state->resolve.bname = gf_strdup (args.bname); + state->flags = args.flags; + resolve_and_resume (frame, server_rmdir_resume); out: return 0; |