summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libglusterfs/src/call-stub.c16
-rw-r--r--libglusterfs/src/call-stub.h7
-rw-r--r--libglusterfs/src/defaults.c14
-rw-r--r--libglusterfs/src/defaults.h6
-rw-r--r--libglusterfs/src/xlator.h6
-rw-r--r--xlators/cluster/afr/src/afr-common.c5
-rw-r--r--xlators/cluster/afr/src/afr-dir-write.c7
-rw-r--r--xlators/cluster/afr/src/afr-dir-write.h2
-rw-r--r--xlators/cluster/afr/src/afr-self-heal-common.c2
-rw-r--r--xlators/cluster/afr/src/afr-self-heal-entry.c5
-rw-r--r--xlators/cluster/afr/src/afr.h1
-rw-r--r--xlators/cluster/dht/src/dht-common.c9
-rw-r--r--xlators/cluster/dht/src/dht-selfheal.c3
-rw-r--r--xlators/cluster/stripe/src/stripe.c11
-rw-r--r--xlators/debug/error-gen/src/error-gen.c4
-rw-r--r--xlators/debug/io-stats/src/io-stats.c4
-rw-r--r--xlators/debug/trace/src/trace.c5
-rw-r--r--xlators/features/access-control/src/access-control.c14
-rw-r--r--xlators/features/quota/src/quota.c5
-rw-r--r--xlators/features/read-only/src/read-only.c5
-rw-r--r--xlators/features/trash/src/trash.c22
-rw-r--r--xlators/mount/fuse/src/fuse-bridge.c2
-rw-r--r--xlators/nfs/server/src/nfs-fops.c4
-rw-r--r--xlators/performance/io-threads/src/io-threads.c10
-rw-r--r--xlators/performance/stat-prefetch/src/stat-prefetch.c7
-rw-r--r--xlators/protocol/client/src/client.c5
-rw-r--r--xlators/protocol/legacy/client/src/client-protocol.c3
-rw-r--r--xlators/protocol/legacy/server/src/server-protocol.c3
-rw-r--r--xlators/protocol/server/src/server3_1-fops.c2
-rw-r--r--xlators/storage/posix/src/posix.c4
30 files changed, 107 insertions, 86 deletions
diff --git a/libglusterfs/src/call-stub.c b/libglusterfs/src/call-stub.c
index c80dfb593c3..789b12c9796 100644
--- a/libglusterfs/src/call-stub.c
+++ b/libglusterfs/src/call-stub.c
@@ -449,10 +449,8 @@ out:
call_stub_t *
-fop_mkdir_stub (call_frame_t *frame,
- fop_mkdir_t fn,
- loc_t *loc,
- mode_t mode)
+fop_mkdir_stub (call_frame_t *frame, fop_mkdir_t fn,
+ loc_t *loc, mode_t mode, dict_t *params)
{
call_stub_t *stub = NULL;
@@ -465,6 +463,8 @@ fop_mkdir_stub (call_frame_t *frame,
stub->args.mkdir.fn = fn;
loc_copy (&stub->args.mkdir.loc, loc);
stub->args.mkdir.mode = mode;
+ if (params)
+ stub->args.mkdir.params = dict_ref (params);
out:
return stub;
}
@@ -2161,10 +2161,10 @@ call_resume_wind (call_stub_t *stub)
case GF_FOP_MKDIR:
{
- stub->args.mkdir.fn (stub->frame,
- stub->frame->this,
+ stub->args.mkdir.fn (stub->frame, stub->frame->this,
&stub->args.mkdir.loc,
- stub->args.mkdir.mode);
+ stub->args.mkdir.mode,
+ stub->args.mkdir.params);
}
break;
@@ -3341,6 +3341,8 @@ call_stub_destroy_wind (call_stub_t *stub)
case GF_FOP_MKDIR:
{
loc_wipe (&stub->args.mkdir.loc);
+ if (stub->args.mkdir.params)
+ dict_unref (stub->args.mkdir.params);
}
break;
diff --git a/libglusterfs/src/call-stub.h b/libglusterfs/src/call-stub.h
index 1c46cbc0bee..7c67b18e514 100644
--- a/libglusterfs/src/call-stub.h
+++ b/libglusterfs/src/call-stub.h
@@ -146,6 +146,7 @@ typedef struct {
fop_mkdir_t fn;
loc_t loc;
mode_t mode;
+ dict_t *params;
} mkdir;
struct {
fop_mkdir_cbk_t fn;
@@ -686,10 +687,8 @@ fop_mknod_cbk_stub (call_frame_t *frame,
struct iatt *postparent);
call_stub_t *
-fop_mkdir_stub (call_frame_t *frame,
- fop_mkdir_t fn,
- loc_t *loc,
- mode_t mode);
+fop_mkdir_stub (call_frame_t *frame, fop_mkdir_t fn,
+ loc_t *loc, mode_t mode, dict_t *params);
call_stub_t *
fop_mkdir_cbk_stub (call_frame_t *frame,
diff --git a/libglusterfs/src/defaults.c b/libglusterfs/src/defaults.c
index d7018855e9d..3224e730405 100644
--- a/libglusterfs/src/defaults.c
+++ b/libglusterfs/src/defaults.c
@@ -285,17 +285,15 @@ default_mkdir_cbk (call_frame_t *frame,
return 0;
}
-int32_t
-default_mkdir (call_frame_t *frame,
- xlator_t *this,
- loc_t *loc,
- mode_t mode)
+
+int
+default_mkdir (call_frame_t *frame, xlator_t *this,
+ loc_t *loc, mode_t mode, dict_t *params)
{
- STACK_WIND (frame,
- default_mkdir_cbk,
+ STACK_WIND (frame, default_mkdir_cbk,
FIRST_CHILD(this),
FIRST_CHILD(this)->fops->mkdir,
- loc, mode);
+ loc, mode, params);
return 0;
}
diff --git a/libglusterfs/src/defaults.h b/libglusterfs/src/defaults.h
index b951b0781da..f58d55e1a73 100644
--- a/libglusterfs/src/defaults.h
+++ b/libglusterfs/src/defaults.h
@@ -85,10 +85,8 @@ int32_t default_readlink (call_frame_t *frame,
int32_t default_mknod (call_frame_t *frame, xlator_t *this,
loc_t *loc, mode_t mode, dev_t rdev, dict_t *params);
-int32_t default_mkdir (call_frame_t *frame,
- xlator_t *this,
- loc_t *loc,
- mode_t mode);
+int32_t default_mkdir (call_frame_t *frame, xlator_t *this,
+ loc_t *loc, mode_t mode, dict_t *params);
int32_t default_unlink (call_frame_t *frame,
xlator_t *this,
diff --git a/libglusterfs/src/xlator.h b/libglusterfs/src/xlator.h
index 73ca9e0c648..84839418374 100644
--- a/libglusterfs/src/xlator.h
+++ b/libglusterfs/src/xlator.h
@@ -447,10 +447,8 @@ typedef int32_t (*fop_mknod_t) (call_frame_t *frame, xlator_t *this,
loc_t *loc, mode_t mode, dev_t rdev,
dict_t *params);
-typedef int32_t (*fop_mkdir_t) (call_frame_t *frame,
- xlator_t *this,
- loc_t *loc,
- mode_t mode);
+typedef int32_t (*fop_mkdir_t) (call_frame_t *frame, xlator_t *this,
+ loc_t *loc, mode_t mode, dict_t *params);
typedef int32_t (*fop_unlink_t) (call_frame_t *frame,
xlator_t *this,
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c
index 1cbc3ba558f..e5330b4e468 100644
--- a/xlators/cluster/afr/src/afr-common.c
+++ b/xlators/cluster/afr/src/afr-common.c
@@ -400,6 +400,11 @@ afr_local_cleanup (afr_local_t *local, xlator_t *this)
dict_unref (local->cont.mknod.params);
}
+ { /* mkdir */
+ if (local->cont.mkdir.params)
+ dict_unref (local->cont.mkdir.params);
+ }
+
{ /* writev */
GF_FREE (local->cont.writev.vector);
}
diff --git a/xlators/cluster/afr/src/afr-dir-write.c b/xlators/cluster/afr/src/afr-dir-write.c
index d1077af9eef..70da6f94955 100644
--- a/xlators/cluster/afr/src/afr-dir-write.c
+++ b/xlators/cluster/afr/src/afr-dir-write.c
@@ -762,7 +762,8 @@ afr_mkdir_wind (call_frame_t *frame, xlator_t *this)
(void *) (long) i,
priv->children[i],
priv->children[i]->fops->mkdir,
- &local->loc, local->cont.mkdir.mode);
+ &local->loc, local->cont.mkdir.mode,
+ local->cont.mkdir.params);
if (!--call_count)
break;
}
@@ -789,7 +790,7 @@ afr_mkdir_done (call_frame_t *frame, xlator_t *this)
int
afr_mkdir (call_frame_t *frame, xlator_t *this,
- loc_t *loc, mode_t mode)
+ loc_t *loc, mode_t mode, dict_t *params)
{
afr_private_t * priv = NULL;
afr_local_t * local = NULL;
@@ -833,6 +834,8 @@ afr_mkdir (call_frame_t *frame, xlator_t *this,
UNLOCK (&priv->read_child_lock);
local->cont.mkdir.mode = mode;
+ if (params)
+ local->cont.mkdir.params = dict_ref (params);
if (loc->parent)
local->cont.mkdir.parent_ino = loc->parent->ino;
diff --git a/xlators/cluster/afr/src/afr-dir-write.h b/xlators/cluster/afr/src/afr-dir-write.h
index 2394c46698b..878e1e714cf 100644
--- a/xlators/cluster/afr/src/afr-dir-write.h
+++ b/xlators/cluster/afr/src/afr-dir-write.h
@@ -31,7 +31,7 @@ afr_mknod (call_frame_t *frame, xlator_t *this,
int32_t
afr_mkdir (call_frame_t *frame, xlator_t *this,
- loc_t *loc, mode_t mode);
+ loc_t *loc, mode_t mode, dict_t *params);
int32_t
afr_unlink (call_frame_t *frame, xlator_t *this,
diff --git a/xlators/cluster/afr/src/afr-self-heal-common.c b/xlators/cluster/afr/src/afr-self-heal-common.c
index cc26abc02a0..fda879d3cb2 100644
--- a/xlators/cluster/afr/src/afr-self-heal-common.c
+++ b/xlators/cluster/afr/src/afr-self-heal-common.c
@@ -1070,7 +1070,7 @@ sh_missing_entries_mkdir (call_frame_t *frame, xlator_t *this)
(void *) (long) i,
priv->children[i],
priv->children[i]->fops->mkdir,
- &local->loc, st_mode);
+ &local->loc, st_mode, NULL);
if (!--call_count)
break;
}
diff --git a/xlators/cluster/afr/src/afr-self-heal-entry.c b/xlators/cluster/afr/src/afr-self-heal-entry.c
index f95d8fc7e9c..140795bdd7f 100644
--- a/xlators/cluster/afr/src/afr-self-heal-entry.c
+++ b/xlators/cluster/afr/src/afr-self-heal-entry.c
@@ -575,7 +575,7 @@ afr_sh_entry_expunge_lookup_trash_cbk (call_frame_t *expunge_frame, void *cookie
(void *) (long) active_src,
priv->children[active_src],
priv->children[active_src]->fops->mkdir,
- &trash_loc, 0777);
+ &trash_loc, 0777, NULL);
loc_wipe (&trash_loc);
return 0;
@@ -1315,7 +1315,8 @@ afr_sh_entry_impunge_mkdir (call_frame_t *impunge_frame, xlator_t *this,
priv->children[child_index],
priv->children[child_index]->fops->mkdir,
&impunge_local->loc,
- st_mode_from_ia (stbuf->ia_prot, stbuf->ia_type));
+ st_mode_from_ia (stbuf->ia_prot, stbuf->ia_type),
+ NULL);
return 0;
}
diff --git a/xlators/cluster/afr/src/afr.h b/xlators/cluster/afr/src/afr.h
index 2f44dce7073..85f66c8255c 100644
--- a/xlators/cluster/afr/src/afr.h
+++ b/xlators/cluster/afr/src/afr.h
@@ -509,6 +509,7 @@ typedef struct _afr_local {
uint64_t gen;
ino_t parent_ino;
int32_t mode;
+ dict_t *params;
inode_t *inode;
struct iatt buf;
struct iatt read_child_buf;
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c
index bf84dfa6b22..0da8ad73eef 100644
--- a/xlators/cluster/dht/src/dht-common.c
+++ b/xlators/cluster/dht/src/dht-common.c
@@ -3493,7 +3493,7 @@ dht_mkdir_hashed_cbk (call_frame_t *frame, void *cookie,
STACK_WIND (frame, dht_mkdir_cbk,
conf->subvolumes[i],
conf->subvolumes[i]->fops->mkdir,
- &local->loc, local->mode);
+ &local->loc, local->mode, local->params);
}
return 0;
err:
@@ -3501,9 +3501,10 @@ err:
return 0;
}
+
int
dht_mkdir (call_frame_t *frame, xlator_t *this,
- loc_t *loc, mode_t mode)
+ loc_t *loc, mode_t mode, dict_t *params)
{
dht_local_t *local = NULL;
dht_conf_t *conf = NULL;
@@ -3552,6 +3553,8 @@ dht_mkdir (call_frame_t *frame, xlator_t *this,
goto err;
}
+ local->params = dict_ref (params);
+
local->layout = dht_layout_new (this, conf->subvolume_cnt);
if (!local->layout) {
gf_log (this->name, GF_LOG_ERROR,
@@ -3563,7 +3566,7 @@ dht_mkdir (call_frame_t *frame, xlator_t *this,
STACK_WIND (frame, dht_mkdir_hashed_cbk,
hashed_subvol,
hashed_subvol->fops->mkdir,
- loc, mode);
+ loc, mode, params);
return 0;
diff --git a/xlators/cluster/dht/src/dht-selfheal.c b/xlators/cluster/dht/src/dht-selfheal.c
index f3504935ded..d5d9892b556 100644
--- a/xlators/cluster/dht/src/dht-selfheal.c
+++ b/xlators/cluster/dht/src/dht-selfheal.c
@@ -277,7 +277,8 @@ dht_selfheal_dir_mkdir (call_frame_t *frame, loc_t *loc,
layout->list[i].xlator->fops->mkdir,
loc,
st_mode_from_ia (local->stbuf.ia_prot,
- local->stbuf.ia_type));
+ local->stbuf.ia_type),
+ NULL);
}
}
diff --git a/xlators/cluster/stripe/src/stripe.c b/xlators/cluster/stripe/src/stripe.c
index 658b9a1b004..5ec3d668121 100644
--- a/xlators/cluster/stripe/src/stripe.c
+++ b/xlators/cluster/stripe/src/stripe.c
@@ -188,7 +188,8 @@ stripe_entry_self_heal (call_frame_t *frame, xlator_t *this,
STACK_WIND (rframe, stripe_sh_make_entry_cbk,
trav->xlator, trav->xlator->fops->mkdir,
&local->loc, st_mode_from_ia (local->stbuf.ia_prot,
- local->stbuf.ia_type));
+ local->stbuf.ia_type),
+ NULL);
}
trav = trav->next;
}
@@ -1585,8 +1586,10 @@ out:
return 0;
}
-int32_t
-stripe_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode)
+
+int
+stripe_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
+ dict_t *params)
{
stripe_private_t *priv = NULL;
stripe_local_t *local = NULL;
@@ -1622,7 +1625,7 @@ stripe_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode)
while (trav) {
STACK_WIND (frame, stripe_mkdir_cbk,
trav->xlator, trav->xlator->fops->mkdir,
- loc, mode);
+ loc, mode, params);
trav = trav->next;
}
diff --git a/xlators/debug/error-gen/src/error-gen.c b/xlators/debug/error-gen/src/error-gen.c
index 955b197ed63..e7ed8c6a850 100644
--- a/xlators/debug/error-gen/src/error-gen.c
+++ b/xlators/debug/error-gen/src/error-gen.c
@@ -730,7 +730,7 @@ error_gen_mkdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int
error_gen_mkdir (call_frame_t *frame, xlator_t *this,
- loc_t *loc, mode_t mode)
+ loc_t *loc, mode_t mode, dict_t *params)
{
int op_errno = 0;
eg_t *egp = NULL;
@@ -752,7 +752,7 @@ error_gen_mkdir (call_frame_t *frame, xlator_t *this,
STACK_WIND (frame, error_gen_mkdir_cbk,
FIRST_CHILD(this),
FIRST_CHILD(this)->fops->mkdir,
- loc, mode);
+ loc, mode, params);
return 0;
}
diff --git a/xlators/debug/io-stats/src/io-stats.c b/xlators/debug/io-stats/src/io-stats.c
index ce2bac51ad9..b283bd7b4bc 100644
--- a/xlators/debug/io-stats/src/io-stats.c
+++ b/xlators/debug/io-stats/src/io-stats.c
@@ -884,14 +884,14 @@ io_stats_mknod (call_frame_t *frame, xlator_t *this,
int
io_stats_mkdir (call_frame_t *frame, xlator_t *this,
- loc_t *loc, mode_t mode)
+ loc_t *loc, mode_t mode, dict_t *params)
{
BUMP_FOP (MKDIR);
STACK_WIND (frame, io_stats_mkdir_cbk,
FIRST_CHILD(this),
FIRST_CHILD(this)->fops->mkdir,
- loc, mode);
+ loc, mode, params);
return 0;
}
diff --git a/xlators/debug/trace/src/trace.c b/xlators/debug/trace/src/trace.c
index 339ebeaf57f..7b5164c8439 100644
--- a/xlators/debug/trace/src/trace.c
+++ b/xlators/debug/trace/src/trace.c
@@ -1349,7 +1349,8 @@ trace_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc,
int
-trace_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode)
+trace_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
+ dict_t *params)
{
if (trace_fop_names[GF_FOP_MKDIR].enabled) {
gf_log (this->name, GF_LOG_NORMAL,
@@ -1361,7 +1362,7 @@ trace_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode)
STACK_WIND (frame, trace_mkdir_cbk,
FIRST_CHILD(this),
FIRST_CHILD(this)->fops->mkdir,
- loc, mode);
+ loc, mode, params);
return 0;
}
diff --git a/xlators/features/access-control/src/access-control.c b/xlators/features/access-control/src/access-control.c
index 1601a49526e..159debb3f01 100644
--- a/xlators/features/access-control/src/access-control.c
+++ b/xlators/features/access-control/src/access-control.c
@@ -626,11 +626,12 @@ out:
}
-int32_t
-ac_mkdir_resume (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode)
+int
+ac_mkdir_resume (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
+ dict_t *params)
{
STACK_WIND (frame, default_mkdir_cbk, FIRST_CHILD(this),
- FIRST_CHILD(this)->fops->mkdir, loc, mode);
+ FIRST_CHILD(this)->fops->mkdir, loc, mode, params);
return 0;
}
@@ -670,14 +671,15 @@ out:
}
-int32_t
-ac_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode)
+int
+ac_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
+ dict_t *params)
{
call_stub_t *stub = NULL;
int ret = -EFAULT;
loc_t parentloc = {0, };
- stub = fop_mkdir_stub (frame, ac_mkdir_resume, loc, mode);
+ stub = fop_mkdir_stub (frame, ac_mkdir_resume, loc, mode, params);
if (!stub) {
gf_log (this->name, GF_LOG_ERROR, "cannot create call stub: "
"(out of memory)");
diff --git a/xlators/features/quota/src/quota.c b/xlators/features/quota/src/quota.c
index e6b4569006c..002f6b35b51 100644
--- a/xlators/features/quota/src/quota.c
+++ b/xlators/features/quota/src/quota.c
@@ -377,7 +377,8 @@ quota_mkdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int
-quota_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode)
+quota_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
+ dict_t *params)
{
struct quota_priv *priv = NULL;
@@ -405,7 +406,7 @@ quota_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode)
STACK_WIND (frame, quota_mkdir_cbk,
FIRST_CHILD(this),
FIRST_CHILD(this)->fops->mkdir,
- loc, mode);
+ loc, mode, params);
return 0;
}
diff --git a/xlators/features/read-only/src/read-only.c b/xlators/features/read-only/src/read-only.c
index 0c1b06e781e..9ebbdaaba0f 100644
--- a/xlators/features/read-only/src/read-only.c
+++ b/xlators/features/read-only/src/read-only.c
@@ -122,8 +122,9 @@ ro_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
}
-int32_t
-ro_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode)
+int
+ro_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
+ dict_t *params)
{
STACK_UNWIND_STRICT (mkdir, frame, -1, EROFS, NULL, NULL, NULL, NULL);
return 0;
diff --git a/xlators/features/trash/src/trash.c b/xlators/features/trash/src/trash.c
index dd61929d7ff..1fb4377bad3 100644
--- a/xlators/features/trash/src/trash.c
+++ b/xlators/features/trash/src/trash.c
@@ -124,7 +124,7 @@ trash_unlink_mkdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
STACK_WIND_COOKIE (frame, trash_unlink_mkdir_cbk, tmp_path,
this->children->xlator,
this->children->xlator->fops->mkdir,
- &tmp_loc, 0755);
+ &tmp_loc, 0755, NULL);
goto out;
}
@@ -166,7 +166,7 @@ trash_unlink_mkdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
STACK_WIND_COOKIE (frame, trash_unlink_mkdir_cbk, tmp_path,
this->children->xlator,
this->children->xlator->fops->mkdir,
- &tmp_loc, 0755);
+ &tmp_loc, 0755, NULL);
out:
GF_FREE (cookie);
@@ -215,7 +215,7 @@ trash_unlink_rename_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
STACK_WIND_COOKIE (frame, trash_unlink_mkdir_cbk, tmp_cookie,
FIRST_CHILD(this),
FIRST_CHILD(this)->fops->mkdir,
- &tmp_loc, 0755);
+ &tmp_loc, 0755, NULL);
GF_FREE (tmp_str);
@@ -360,7 +360,7 @@ trash_rename_rename_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
STACK_WIND_COOKIE (frame, trash_rename_mkdir_cbk, tmp_path,
this->children->xlator,
this->children->xlator->fops->mkdir,
- &tmp_loc, 0755);
+ &tmp_loc, 0755, NULL);
GF_FREE (tmp_str);
return 0;
@@ -426,7 +426,7 @@ trash_rename_mkdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
STACK_WIND_COOKIE (frame, trash_rename_mkdir_cbk,
tmp_path, this->children->xlator,
this->children->xlator->fops->mkdir,
- &tmp_loc, 0755);
+ &tmp_loc, 0755, NULL);
}
goto out;
@@ -805,7 +805,7 @@ trash_truncate_create_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
STACK_WIND_COOKIE (frame, trash_truncate_mkdir_cbk,
tmp_path, FIRST_CHILD(this),
FIRST_CHILD(this)->fops->mkdir,
- &tmp_loc, 0755);
+ &tmp_loc, 0755, NULL);
GF_FREE (tmp_str);
goto out;
}
@@ -883,7 +883,7 @@ trash_truncate_mkdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
STACK_WIND_COOKIE (frame, trash_truncate_mkdir_cbk,
tmp_path, this->children->xlator,
this->children->xlator->fops->mkdir,
- &tmp_loc, 0755);
+ &tmp_loc, 0755, NULL);
goto out;
}
@@ -930,7 +930,7 @@ trash_truncate_mkdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
STACK_WIND_COOKIE (frame, trash_truncate_mkdir_cbk, tmp_path,
this->children->xlator,
this->children->xlator->fops->mkdir,
- &tmp_loc, 0755);
+ &tmp_loc, 0755, NULL);
out:
GF_FREE (cookie); /* strdup (dir_name) was sent here :) */
@@ -1182,7 +1182,7 @@ trash_ftruncate_create_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
STACK_WIND_COOKIE (frame, trash_truncate_mkdir_cbk,
tmp_path, FIRST_CHILD(this),
FIRST_CHILD(this)->fops->mkdir,
- &tmp_loc, 0755);
+ &tmp_loc, 0755, NULL);
GF_FREE (tmp_str);
return 0;
}
@@ -1251,7 +1251,7 @@ trash_ftruncate_mkdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
STACK_WIND_COOKIE (frame, trash_ftruncate_mkdir_cbk,
tmp_path, this->children->xlator,
this->children->xlator->fops->mkdir,
- &tmp_loc, 0755);
+ &tmp_loc, 0755, NULL);
goto out;
}
@@ -1298,7 +1298,7 @@ trash_ftruncate_mkdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
STACK_WIND_COOKIE (frame, trash_ftruncate_mkdir_cbk, tmp_path,
this->children->xlator,
this->children->xlator->fops->mkdir,
- &tmp_loc, 0755);
+ &tmp_loc, 0755, NULL);
out:
GF_FREE (cookie); /* strdup (dir_name) was sent here :) */
diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c
index 2a5369769d8..6ff5dafa7a5 100644
--- a/xlators/mount/fuse/src/fuse-bridge.c
+++ b/xlators/mount/fuse/src/fuse-bridge.c
@@ -1079,7 +1079,7 @@ fuse_mkdir_resume (fuse_state_t *state)
state->loc.path);
FUSE_FOP (state, fuse_newentry_cbk, GF_FOP_MKDIR,
- mkdir, &state->loc, state->mode);
+ mkdir, &state->loc, state->mode, NULL);
}
static void
diff --git a/xlators/nfs/server/src/nfs-fops.c b/xlators/nfs/server/src/nfs-fops.c
index 75b8e0103b8..a71e1204a44 100644
--- a/xlators/nfs/server/src/nfs-fops.c
+++ b/xlators/nfs/server/src/nfs-fops.c
@@ -701,8 +701,8 @@ nfs_fop_mkdir (xlator_t *nfsx, xlator_t *xl, nfs_user_t *nfu, loc_t *pathloc,
nfs_fop_handle_local_init (frame, nfsx, nfl, cbk, local, ret, err);
nfs_fop_save_root_ino (nfl, pathloc);
- STACK_WIND_COOKIE (frame, nfs_fop_mkdir_cbk, xl, xl, xl->fops->mkdir,
- pathloc, mode);
+ STACK_WIND_COOKIE (frame, nfs_fop_mkdir_cbk, xl, xl, xl->fops->mkdir,
+ pathloc, mode, NULL);
ret = 0;
err:
if (ret < 0) {
diff --git a/xlators/performance/io-threads/src/io-threads.c b/xlators/performance/io-threads/src/io-threads.c
index 0901a882bd3..a9c596fb944 100644
--- a/xlators/performance/io-threads/src/io-threads.c
+++ b/xlators/performance/io-threads/src/io-threads.c
@@ -482,21 +482,23 @@ iot_mkdir_cbk (call_frame_t *frame, void * cookie, xlator_t *this,
int
-iot_mkdir_wrapper (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode)
+iot_mkdir_wrapper (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
+ dict_t *params)
{
STACK_WIND (frame, iot_mkdir_cbk, FIRST_CHILD (this),
- FIRST_CHILD (this)->fops->mkdir, loc, mode);
+ FIRST_CHILD (this)->fops->mkdir, loc, mode, params);
return 0;
}
int
-iot_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode)
+iot_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
+ dict_t *params)
{
call_stub_t *stub = NULL;
int ret = -1;
- stub = fop_mkdir_stub (frame, iot_mkdir_wrapper, loc, mode);
+ stub = fop_mkdir_stub (frame, iot_mkdir_wrapper, loc, mode, params);
if (!stub) {
gf_log (this->name, GF_LOG_ERROR, "cannot create mkdir stub"
"(out of memory)");
diff --git a/xlators/performance/stat-prefetch/src/stat-prefetch.c b/xlators/performance/stat-prefetch/src/stat-prefetch.c
index f82b50e1bdc..cd784dcf07f 100644
--- a/xlators/performance/stat-prefetch/src/stat-prefetch.c
+++ b/xlators/performance/stat-prefetch/src/stat-prefetch.c
@@ -1697,8 +1697,9 @@ out:
}
-int32_t
-sp_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode)
+int
+sp_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
+ dict_t *params)
{
int32_t ret = -1, op_errno = -1;
char need_unwind = 1;
@@ -1750,7 +1751,7 @@ out:
NULL);
} else {
STACK_WIND (frame, sp_new_entry_cbk, FIRST_CHILD(this),
- FIRST_CHILD(this)->fops->mkdir, loc, mode);
+ FIRST_CHILD(this)->fops->mkdir, loc, mode, params);
}
return 0;
diff --git a/xlators/protocol/client/src/client.c b/xlators/protocol/client/src/client.c
index ef33fbe891d..e5e5bd11198 100644
--- a/xlators/protocol/client/src/client.c
+++ b/xlators/protocol/client/src/client.c
@@ -387,10 +387,9 @@ out:
}
-
-int32_t
+int
client_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc,
- mode_t mode)
+ mode_t mode, dict_t *params)
{
int ret = -1;
clnt_conf_t *conf = NULL;
diff --git a/xlators/protocol/legacy/client/src/client-protocol.c b/xlators/protocol/legacy/client/src/client-protocol.c
index 5e811949e09..e0f716ed965 100644
--- a/xlators/protocol/legacy/client/src/client-protocol.c
+++ b/xlators/protocol/legacy/client/src/client-protocol.c
@@ -1011,7 +1011,8 @@ unwind:
* external reference through client_protocol_xlator->fops->mkdir
*/
int
-client_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode)
+client_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
+ dict_t *params)
{
gf_hdr_common_t *hdr = NULL;
gf_fop_mkdir_req_t *req = NULL;
diff --git a/xlators/protocol/legacy/server/src/server-protocol.c b/xlators/protocol/legacy/server/src/server-protocol.c
index 730b4f8131d..4c48e75a9ec 100644
--- a/xlators/protocol/legacy/server/src/server-protocol.c
+++ b/xlators/protocol/legacy/server/src/server-protocol.c
@@ -4212,7 +4212,8 @@ server_mkdir_resume (call_frame_t *frame, xlator_t *bound_xl)
STACK_WIND (frame, server_mkdir_cbk,
bound_xl, bound_xl->fops->mkdir,
- &(state->loc), state->mode);
+ &(state->loc), state->mode,
+ state->params);
return 0;
err:
diff --git a/xlators/protocol/server/src/server3_1-fops.c b/xlators/protocol/server/src/server3_1-fops.c
index 926a5574a42..ecafb57f52b 100644
--- a/xlators/protocol/server/src/server3_1-fops.c
+++ b/xlators/protocol/server/src/server3_1-fops.c
@@ -2011,7 +2011,7 @@ server_mkdir_resume (call_frame_t *frame, xlator_t *bound_xl)
STACK_WIND (frame, server_mkdir_cbk,
bound_xl, bound_xl->fops->mkdir,
- &(state->loc), state->mode);
+ &(state->loc), state->mode, state->params);
return 0;
err:
diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c
index f732a20c8a8..1afbffab844 100644
--- a/xlators/storage/posix/src/posix.c
+++ b/xlators/storage/posix/src/posix.c
@@ -1327,9 +1327,9 @@ unlock:
}
-int32_t
+int
posix_mkdir (call_frame_t *frame, xlator_t *this,
- loc_t *loc, mode_t mode)
+ loc_t *loc, mode_t mode, dict_t *params)
{
int32_t op_ret = -1;
int32_t op_errno = 0;