From 02e1ca67027e6fbbc9e854ac9def183745488022 Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Mon, 14 Mar 2016 10:59:38 +0530 Subject: dht/afr/client/posix: Fail mkdir without gfid-req Do not allow directory creations without gfids as after the directories are created, operations on them fail anyway. So it is better to fail mkdir. >BUG: 1317361 >Change-Id: I8f8e3b38bbded1960b7215bac0432500f7e78038 >Signed-off-by: Pranith Kumar K >Reviewed-on: http://review.gluster.org/13690 >Smoke: Gluster Build System >Reviewed-by: Krutika Dhananjay >CentOS-regression: Gluster Build System >NetBSD-regression: NetBSD Build System >(cherry picked from commit b246b07896fefb261c9fb07f3f29f0d03b81b88d) Change-Id: Ibf9c84add7265e3e1755a37958e1de38307624b2 BUG: 1332372 Signed-off-by: Pranith Kumar K Reviewed-on: http://review.gluster.org/14188 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System --- xlators/protocol/client/src/client-rpc-fops.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'xlators/protocol/client/src/client-rpc-fops.c') diff --git a/xlators/protocol/client/src/client-rpc-fops.c b/xlators/protocol/client/src/client-rpc-fops.c index 2e2851685fa..19b7cf6b0e9 100644 --- a/xlators/protocol/client/src/client-rpc-fops.c +++ b/xlators/protocol/client/src/client-rpc-fops.c @@ -4065,6 +4065,15 @@ client3_3_mkdir (call_frame_t *frame, xlator_t *this, args = data; + if (!args->xdata || !dict_get (args->xdata, "gfid-req")) { + op_errno = EPERM; + gf_msg_callingfn (this->name, GF_LOG_WARNING, op_errno, + PC_MSG_GFID_NULL, "mkdir: %s is received " + "without gfid-req %p", args->loc->path, + args->xdata); + goto unwind; + } + local = mem_get0 (this->local_pool); if (!local) { op_errno = ENOMEM; -- cgit