summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libglusterfs/src/call-stub.c17
-rw-r--r--libglusterfs/src/call-stub.h8
-rw-r--r--libglusterfs/src/defaults.c15
-rw-r--r--libglusterfs/src/defaults.h7
-rw-r--r--libglusterfs/src/xlator.h8
-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.c6
-rw-r--r--xlators/cluster/afr/src/afr-self-heal-entry.c2
-rw-r--r--xlators/cluster/afr/src/afr.h1
-rw-r--r--xlators/cluster/dht/src/dht-common.c10
-rw-r--r--xlators/cluster/dht/src/dht-linkfile.c2
-rw-r--r--xlators/cluster/dht/src/nufa.c9
-rw-r--r--xlators/cluster/dht/src/switch.c8
-rw-r--r--xlators/cluster/stripe/src/stripe.c12
-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.c4
-rw-r--r--xlators/features/access-control/src/access-control.c12
-rw-r--r--xlators/features/quota/src/quota.c4
-rw-r--r--xlators/features/read-only/src/read-only.c4
-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-cache/src/io-cache.c9
-rw-r--r--xlators/performance/io-threads/src/io-threads.c9
-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.c2
-rw-r--r--xlators/protocol/legacy/server/src/server-protocol.c3
-rw-r--r--xlators/protocol/server/src/server3_1-fops.c3
-rw-r--r--xlators/storage/posix/src/posix.c5
32 files changed, 106 insertions, 94 deletions
diff --git a/libglusterfs/src/call-stub.c b/libglusterfs/src/call-stub.c
index 4e62276fc..c80dfb593 100644
--- a/libglusterfs/src/call-stub.c
+++ b/libglusterfs/src/call-stub.c
@@ -393,11 +393,8 @@ out:
call_stub_t *
-fop_mknod_stub (call_frame_t *frame,
- fop_mknod_t fn,
- loc_t *loc,
- mode_t mode,
- dev_t rdev)
+fop_mknod_stub (call_frame_t *frame, fop_mknod_t fn,
+ loc_t *loc, mode_t mode, dev_t rdev, dict_t *params)
{
call_stub_t *stub = NULL;
@@ -411,6 +408,8 @@ fop_mknod_stub (call_frame_t *frame,
loc_copy (&stub->args.mknod.loc, loc);
stub->args.mknod.mode = mode;
stub->args.mknod.rdev = rdev;
+ if (params)
+ stub->args.mknod.params = dict_ref (params);
out:
return stub;
}
@@ -2152,11 +2151,11 @@ call_resume_wind (call_stub_t *stub)
case GF_FOP_MKNOD:
{
- stub->args.mknod.fn (stub->frame,
- stub->frame->this,
+ stub->args.mknod.fn (stub->frame, stub->frame->this,
&stub->args.mknod.loc,
stub->args.mknod.mode,
- stub->args.mknod.rdev);
+ stub->args.mknod.rdev,
+ stub->args.mknod.params);
}
break;
@@ -3334,6 +3333,8 @@ call_stub_destroy_wind (call_stub_t *stub)
case GF_FOP_MKNOD:
{
loc_wipe (&stub->args.mknod.loc);
+ if (stub->args.mknod.params)
+ dict_unref (stub->args.mknod.params);
}
break;
diff --git a/libglusterfs/src/call-stub.h b/libglusterfs/src/call-stub.h
index fd79cc2d6..1c46cbc0b 100644
--- a/libglusterfs/src/call-stub.h
+++ b/libglusterfs/src/call-stub.h
@@ -130,6 +130,7 @@ typedef struct {
loc_t loc;
mode_t mode;
dev_t rdev;
+ dict_t *params;
} mknod;
struct {
fop_mknod_cbk_t fn;
@@ -671,11 +672,8 @@ fop_readlink_cbk_stub (call_frame_t *frame,
struct iatt *buf);
call_stub_t *
-fop_mknod_stub (call_frame_t *frame,
- fop_mknod_t fn,
- loc_t *loc,
- mode_t mode,
- dev_t rdev);
+fop_mknod_stub (call_frame_t *frame, fop_mknod_t fn,
+ loc_t *loc, mode_t mode, dev_t rdev, dict_t *params);
call_stub_t *
fop_mknod_cbk_stub (call_frame_t *frame,
diff --git a/libglusterfs/src/defaults.c b/libglusterfs/src/defaults.c
index 8a450b6d6..d7018855e 100644
--- a/libglusterfs/src/defaults.c
+++ b/libglusterfs/src/defaults.c
@@ -252,18 +252,15 @@ default_mknod_cbk (call_frame_t *frame,
return 0;
}
-int32_t
-default_mknod (call_frame_t *frame,
- xlator_t *this,
- loc_t *loc,
- mode_t mode,
- dev_t rdev)
+
+int
+default_mknod (call_frame_t *frame, xlator_t *this,
+ loc_t *loc, mode_t mode, dev_t rdev, dict_t *parms)
{
- STACK_WIND (frame,
- default_mknod_cbk,
+ STACK_WIND (frame, default_mknod_cbk,
FIRST_CHILD(this),
FIRST_CHILD(this)->fops->mknod,
- loc, mode, rdev);
+ loc, mode, rdev, parms);
return 0;
}
diff --git a/libglusterfs/src/defaults.h b/libglusterfs/src/defaults.h
index 751380d32..b951b0781 100644
--- a/libglusterfs/src/defaults.h
+++ b/libglusterfs/src/defaults.h
@@ -82,11 +82,8 @@ int32_t default_readlink (call_frame_t *frame,
loc_t *loc,
size_t size);
-int32_t default_mknod (call_frame_t *frame,
- xlator_t *this,
- loc_t *loc,
- mode_t mode,
- dev_t rdev);
+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,
diff --git a/libglusterfs/src/xlator.h b/libglusterfs/src/xlator.h
index 10f0418df..73ca9e0c6 100644
--- a/libglusterfs/src/xlator.h
+++ b/libglusterfs/src/xlator.h
@@ -443,11 +443,9 @@ typedef int32_t (*fop_readlink_t) (call_frame_t *frame,
loc_t *loc,
size_t size);
-typedef int32_t (*fop_mknod_t) (call_frame_t *frame,
- xlator_t *this,
- loc_t *loc,
- mode_t mode,
- dev_t rdev);
+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,
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c
index 6a732e118..1cbc3ba55 100644
--- a/xlators/cluster/afr/src/afr-common.c
+++ b/xlators/cluster/afr/src/afr-common.c
@@ -395,6 +395,11 @@ afr_local_cleanup (afr_local_t *local, xlator_t *this)
dict_unref (local->cont.create.params);
}
+ { /* mknod */
+ if (local->cont.mknod.params)
+ dict_unref (local->cont.mknod.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 3e9f48f9a..d1077af9e 100644
--- a/xlators/cluster/afr/src/afr-dir-write.c
+++ b/xlators/cluster/afr/src/afr-dir-write.c
@@ -508,7 +508,8 @@ afr_mknod_wind (call_frame_t *frame, xlator_t *this)
priv->children[i],
priv->children[i]->fops->mknod,
&local->loc, local->cont.mknod.mode,
- local->cont.mknod.dev);
+ local->cont.mknod.dev,
+ local->cont.mknod.params);
if (!--call_count)
break;
}
@@ -534,7 +535,7 @@ afr_mknod_done (call_frame_t *frame, xlator_t *this)
int
afr_mknod (call_frame_t *frame, xlator_t *this,
- loc_t *loc, mode_t mode, dev_t dev)
+ loc_t *loc, mode_t mode, dev_t dev, dict_t *params)
{
afr_private_t * priv = NULL;
afr_local_t * local = NULL;
@@ -579,6 +580,8 @@ afr_mknod (call_frame_t *frame, xlator_t *this,
local->cont.mknod.mode = mode;
local->cont.mknod.dev = dev;
+ if (params)
+ local->cont.mknod.params = dict_ref (params);
if (loc->parent)
local->cont.mknod.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 5369ba968..2394c4669 100644
--- a/xlators/cluster/afr/src/afr-dir-write.h
+++ b/xlators/cluster/afr/src/afr-dir-write.h
@@ -27,7 +27,7 @@ afr_create (call_frame_t *frame, xlator_t *this,
int32_t
afr_mknod (call_frame_t *frame, xlator_t *this,
- loc_t *loc, mode_t mode, dev_t dev);
+ loc_t *loc, mode_t mode, dev_t dev, dict_t *params);
int32_t
afr_mkdir (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 1324ea3fa..cc26abc02 100644
--- a/xlators/cluster/afr/src/afr-self-heal-common.c
+++ b/xlators/cluster/afr/src/afr-self-heal-common.c
@@ -987,7 +987,7 @@ sh_missing_entries_mknod (call_frame_t *frame, xlator_t *this)
int enoent_count = 0;
int call_count = 0;
mode_t st_mode = 0;
- dev_t ia_gen = 0;
+ dev_t ia_dev = 0;
local = frame->local;
@@ -1003,7 +1003,7 @@ sh_missing_entries_mknod (call_frame_t *frame, xlator_t *this)
st_mode = st_mode_from_ia (sh->buf[sh->source].ia_prot,
sh->buf[sh->source].ia_type);
- ia_gen = sh->buf[sh->source].ia_gen;
+ ia_dev = sh->buf[sh->source].ia_dev;
gf_log (this->name, GF_LOG_TRACE,
"mknod %s mode 0%o on %d subvolumes",
@@ -1016,7 +1016,7 @@ sh_missing_entries_mknod (call_frame_t *frame, xlator_t *this)
(void *) (long) i,
priv->children[i],
priv->children[i]->fops->mknod,
- &local->loc, st_mode, ia_gen);
+ &local->loc, st_mode, ia_dev, 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 31f8c7bbc..f95d8fc7e 100644
--- a/xlators/cluster/afr/src/afr-self-heal-entry.c
+++ b/xlators/cluster/afr/src/afr-self-heal-entry.c
@@ -1288,7 +1288,7 @@ afr_sh_entry_impunge_mknod (call_frame_t *impunge_frame, xlator_t *this,
priv->children[child_index]->fops->mknod,
&impunge_local->loc,
st_mode_from_ia (stbuf->ia_prot, stbuf->ia_type),
- stbuf->ia_rdev);
+ stbuf->ia_rdev, NULL);
return 0;
}
diff --git a/xlators/cluster/afr/src/afr.h b/xlators/cluster/afr/src/afr.h
index f222cb0f8..2f44dce70 100644
--- a/xlators/cluster/afr/src/afr.h
+++ b/xlators/cluster/afr/src/afr.h
@@ -496,6 +496,7 @@ typedef struct _afr_local {
ino_t parent_ino;
dev_t dev;
mode_t mode;
+ dict_t *params;
inode_t *inode;
struct iatt buf;
struct iatt preparent;
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c
index 17ddb3247..bf84dfa6b 100644
--- a/xlators/cluster/dht/src/dht-common.c
+++ b/xlators/cluster/dht/src/dht-common.c
@@ -2804,7 +2804,8 @@ dht_mknod_linkfile_create_cbk (call_frame_t *frame, void *cookie,
STACK_WIND (frame, dht_newfile_cbk,
cached_subvol, cached_subvol->fops->mknod,
- &local->loc, local->mode, local->rdev);
+ &local->loc, local->mode, local->rdev,
+ local->params);
return 0;
err:
@@ -2814,7 +2815,7 @@ dht_mknod_linkfile_create_cbk (call_frame_t *frame, void *cookie,
int
dht_mknod (call_frame_t *frame, xlator_t *this,
- loc_t *loc, mode_t mode, dev_t rdev)
+ loc_t *loc, mode_t mode, dev_t rdev, dict_t *params)
{
xlator_t *subvol = NULL;
int op_errno = -1;
@@ -2862,13 +2863,14 @@ dht_mknod (call_frame_t *frame, xlator_t *this,
STACK_WIND (frame, dht_newfile_cbk,
subvol, subvol->fops->mknod,
- loc, mode, rdev);
+ loc, mode, rdev, params);
} else {
avail_subvol = dht_free_disk_available_subvol (this, subvol);
if (avail_subvol != subvol) {
/* Choose the minimum filled volume, and create the
files there */
+ local->params = dict_ref (params);
local->cached_subvol = avail_subvol;
local->mode = mode;
local->rdev = rdev;
@@ -2882,7 +2884,7 @@ dht_mknod (call_frame_t *frame, xlator_t *this,
STACK_WIND (frame, dht_newfile_cbk,
subvol, subvol->fops->mknod,
- loc, mode, rdev);
+ loc, mode, rdev, params);
}
}
diff --git a/xlators/cluster/dht/src/dht-linkfile.c b/xlators/cluster/dht/src/dht-linkfile.c
index 09af83d89..950318b7e 100644
--- a/xlators/cluster/dht/src/dht-linkfile.c
+++ b/xlators/cluster/dht/src/dht-linkfile.c
@@ -124,7 +124,7 @@ dht_linkfile_create (call_frame_t *frame, fop_mknod_cbk_t linkfile_cbk,
STACK_WIND (frame, dht_linkfile_create_cbk,
fromvol, fromvol->fops->mknod, loc,
- S_IFREG | DHT_LINKFILE_MODE, 0);
+ S_IFREG | DHT_LINKFILE_MODE, 0, NULL);
return 0;
}
diff --git a/xlators/cluster/dht/src/nufa.c b/xlators/cluster/dht/src/nufa.c
index e807ff304..190fbae69 100644
--- a/xlators/cluster/dht/src/nufa.c
+++ b/xlators/cluster/dht/src/nufa.c
@@ -410,7 +410,9 @@ nufa_mknod_linkfile_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
STACK_WIND (frame, dht_newfile_cbk,
local->cached_subvol,
local->cached_subvol->fops->mknod,
- &local->loc, local->mode, local->rdev);
+ &local->loc, local->mode, local->rdev,
+ local->params);
+
return 0;
}
@@ -425,7 +427,7 @@ nufa_mknod_linkfile_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int
nufa_mknod (call_frame_t *frame, xlator_t *this,
- loc_t *loc, mode_t mode, dev_t rdev)
+ loc_t *loc, mode_t mode, dev_t rdev, dict_t *params)
{
dht_local_t *local = NULL;
dht_conf_t *conf = NULL;
@@ -477,6 +479,7 @@ nufa_mknod (call_frame_t *frame, xlator_t *this,
goto err;
}
+ local->params = dict_ref (params);
local->mode = mode;
local->rdev = rdev;
local->cached_subvol = avail_subvol;
@@ -491,7 +494,7 @@ nufa_mknod (call_frame_t *frame, xlator_t *this,
STACK_WIND (frame, dht_newfile_cbk,
subvol, subvol->fops->mknod,
- loc, mode, rdev);
+ loc, mode, rdev, params);
return 0;
diff --git a/xlators/cluster/dht/src/switch.c b/xlators/cluster/dht/src/switch.c
index f47ffb1fd..f3de211fd 100644
--- a/xlators/cluster/dht/src/switch.c
+++ b/xlators/cluster/dht/src/switch.c
@@ -511,7 +511,8 @@ switch_mknod_linkfile_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
STACK_WIND (frame, dht_newfile_cbk,
local->cached_subvol,
local->cached_subvol->fops->mknod,
- &local->loc, local->mode, local->rdev);
+ &local->loc, local->mode, local->rdev,
+ local->params);
return 0;
}
@@ -524,7 +525,7 @@ switch_mknod_linkfile_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int
switch_mknod (call_frame_t *frame, xlator_t *this,
- loc_t *loc, mode_t mode, dev_t rdev)
+ loc_t *loc, mode_t mode, dev_t rdev, dict_t *params)
{
dht_local_t *local = NULL;
dht_conf_t *conf = NULL;
@@ -575,6 +576,7 @@ switch_mknod (call_frame_t *frame, xlator_t *this,
goto err;
}
+ local->params = dict_ref (params);
local->mode = mode;
local->rdev = rdev;
local->cached_subvol = avail_subvol;
@@ -589,7 +591,7 @@ switch_mknod (call_frame_t *frame, xlator_t *this,
STACK_WIND (frame, dht_newfile_cbk,
subvol, subvol->fops->mknod,
- loc, mode, rdev);
+ loc, mode, rdev, params);
return 0;
diff --git a/xlators/cluster/stripe/src/stripe.c b/xlators/cluster/stripe/src/stripe.c
index a13bba34f..658b9a1b0 100644
--- a/xlators/cluster/stripe/src/stripe.c
+++ b/xlators/cluster/stripe/src/stripe.c
@@ -181,7 +181,8 @@ stripe_entry_self_heal (call_frame_t *frame, xlator_t *this,
trav->xlator, trav->xlator->fops->mknod,
&local->loc,
st_mode_from_ia (local->stbuf.ia_prot,
- local->stbuf.ia_type), 0);
+ local->stbuf.ia_type), 0,
+ NULL);
}
if (IA_ISDIR (local->stbuf.ia_type)) {
STACK_WIND (rframe, stripe_sh_make_entry_cbk,
@@ -1425,9 +1426,10 @@ stripe_single_mknod_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
return 0;
}
-int32_t
+
+int
stripe_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
- dev_t rdev)
+ dev_t rdev, dict_t *params)
{
stripe_private_t *priv = NULL;
stripe_local_t *local = NULL;
@@ -1482,7 +1484,7 @@ stripe_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
while (trav) {
STACK_WIND (frame, stripe_mknod_ifreg_cbk,
trav->xlator, trav->xlator->fops->mknod,
- loc, mode, rdev);
+ loc, mode, rdev, params);
trav = trav->next;
}
@@ -1492,7 +1494,7 @@ stripe_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
STACK_WIND (frame, stripe_single_mknod_cbk,
FIRST_CHILD(this), FIRST_CHILD(this)->fops->mknod,
- loc, mode, rdev);
+ loc, mode, rdev, params);
return 0;
err:
diff --git a/xlators/debug/error-gen/src/error-gen.c b/xlators/debug/error-gen/src/error-gen.c
index 0a2e77d26..955b197ed 100644
--- a/xlators/debug/error-gen/src/error-gen.c
+++ b/xlators/debug/error-gen/src/error-gen.c
@@ -689,7 +689,7 @@ error_gen_mknod_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int
error_gen_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc,
- mode_t mode, dev_t rdev)
+ mode_t mode, dev_t rdev, dict_t *params)
{
int op_errno = 0;
eg_t *egp = NULL;
@@ -711,7 +711,7 @@ error_gen_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc,
STACK_WIND (frame, error_gen_mknod_cbk,
FIRST_CHILD(this),
FIRST_CHILD(this)->fops->mknod,
- loc, mode, rdev);
+ loc, mode, rdev, params);
return 0;
}
diff --git a/xlators/debug/io-stats/src/io-stats.c b/xlators/debug/io-stats/src/io-stats.c
index adc45ae87..ce2bac51a 100644
--- a/xlators/debug/io-stats/src/io-stats.c
+++ b/xlators/debug/io-stats/src/io-stats.c
@@ -869,14 +869,14 @@ io_stats_readlink (call_frame_t *frame, xlator_t *this,
int
io_stats_mknod (call_frame_t *frame, xlator_t *this,
- loc_t *loc, mode_t mode, dev_t dev)
+ loc_t *loc, mode_t mode, dev_t dev, dict_t *params)
{
BUMP_FOP (MKNOD);
STACK_WIND (frame, io_stats_mknod_cbk,
FIRST_CHILD(this),
FIRST_CHILD(this)->fops->mknod,
- loc, mode, dev);
+ loc, mode, dev, params);
return 0;
}
diff --git a/xlators/debug/trace/src/trace.c b/xlators/debug/trace/src/trace.c
index 16ea55793..339ebeaf5 100644
--- a/xlators/debug/trace/src/trace.c
+++ b/xlators/debug/trace/src/trace.c
@@ -1331,7 +1331,7 @@ trace_readlink (call_frame_t *frame, xlator_t *this, loc_t *loc, size_t size)
int
trace_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc,
- mode_t mode, dev_t dev)
+ mode_t mode, dev_t dev, dict_t *params)
{
if (trace_fop_names[GF_FOP_MKNOD].enabled) {
gf_log (this->name, GF_LOG_NORMAL,
@@ -1342,7 +1342,7 @@ trace_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc,
STACK_WIND (frame, trace_mknod_cbk,
FIRST_CHILD(this),
FIRST_CHILD(this)->fops->mknod,
- loc, mode, dev);
+ loc, mode, dev, params);
return 0;
}
diff --git a/xlators/features/access-control/src/access-control.c b/xlators/features/access-control/src/access-control.c
index 407596684..1601a4952 100644
--- a/xlators/features/access-control/src/access-control.c
+++ b/xlators/features/access-control/src/access-control.c
@@ -545,12 +545,12 @@ out:
}
-int32_t
+int
ac_mknod_resume (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
- dev_t rdev)
+ dev_t rdev, dict_t *params)
{
STACK_WIND (frame, default_mknod_cbk, FIRST_CHILD(this),
- FIRST_CHILD(this)->fops->mknod, loc, mode, rdev);
+ FIRST_CHILD(this)->fops->mknod, loc, mode, rdev, params);
return 0;
}
@@ -586,15 +586,15 @@ out:
}
-int32_t
+int
ac_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
- dev_t rdev)
+ dev_t rdev, dict_t *params)
{
call_stub_t *stub = NULL;
int ret = -EFAULT;
loc_t parentloc = {0, };
- stub = fop_mknod_stub (frame, ac_mknod_resume, loc, mode, rdev);
+ stub = fop_mknod_stub (frame, ac_mknod_resume, loc, mode, rdev, 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 82107a0a1..e6b456900 100644
--- a/xlators/features/quota/src/quota.c
+++ b/xlators/features/quota/src/quota.c
@@ -324,7 +324,7 @@ quota_mknod_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int
quota_mknod (call_frame_t *frame, xlator_t *this,
- loc_t *loc, mode_t mode, dev_t rdev)
+ loc_t *loc, mode_t mode, dev_t rdev, dict_t *params)
{
struct quota_priv *priv = NULL;
@@ -351,7 +351,7 @@ quota_mknod (call_frame_t *frame, xlator_t *this,
STACK_WIND (frame, quota_mknod_cbk,
FIRST_CHILD(this),
FIRST_CHILD(this)->fops->mknod,
- loc, mode, rdev);
+ loc, mode, rdev, params);
return 0;
}
diff --git a/xlators/features/read-only/src/read-only.c b/xlators/features/read-only/src/read-only.c
index 85cd4c8e3..0c1b06e78 100644
--- a/xlators/features/read-only/src/read-only.c
+++ b/xlators/features/read-only/src/read-only.c
@@ -113,9 +113,9 @@ ro_ftruncate (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset)
return 0;
}
-int32_t
+int
ro_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
- dev_t rdev)
+ dev_t rdev, dict_t *params)
{
STACK_UNWIND_STRICT (mknod, frame, -1, EROFS, NULL, NULL, NULL, NULL);
return 0;
diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c
index 18e4d9180..2a5369769 100644
--- a/xlators/mount/fuse/src/fuse-bridge.c
+++ b/xlators/mount/fuse/src/fuse-bridge.c
@@ -1019,7 +1019,7 @@ fuse_mknod_resume (fuse_state_t *state)
state->loc.path);
FUSE_FOP (state, fuse_newentry_cbk, GF_FOP_MKNOD,
- mknod, &state->loc, state->mode, state->rdev);
+ mknod, &state->loc, state->mode, state->rdev, NULL);
}
diff --git a/xlators/nfs/server/src/nfs-fops.c b/xlators/nfs/server/src/nfs-fops.c
index 08d3d6a46..75b8e0103 100644
--- a/xlators/nfs/server/src/nfs-fops.c
+++ b/xlators/nfs/server/src/nfs-fops.c
@@ -842,8 +842,8 @@ nfs_fop_mknod (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_mknod_cbk, xl, xl, xl->fops->mknod,
- pathloc, mode, dev);
+ STACK_WIND_COOKIE (frame, nfs_fop_mknod_cbk, xl, xl, xl->fops->mknod,
+ pathloc, mode, dev, NULL);
ret = 0;
err:
if (ret < 0) {
diff --git a/xlators/performance/io-cache/src/io-cache.c b/xlators/performance/io-cache/src/io-cache.c
index 88b4c7dbb..0809b6a82 100644
--- a/xlators/performance/io-cache/src/io-cache.c
+++ b/xlators/performance/io-cache/src/io-cache.c
@@ -698,9 +698,9 @@ ioc_mknod_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
}
-int32_t
+int
ioc_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
- dev_t rdev)
+ dev_t rdev, dict_t *params)
{
ioc_local_t *local = NULL;
int32_t op_errno = -1, ret = -1;
@@ -722,11 +722,10 @@ ioc_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
frame->local = local;
- STACK_WIND (frame,
- ioc_mknod_cbk,
+ STACK_WIND (frame, ioc_mknod_cbk,
FIRST_CHILD(this),
FIRST_CHILD(this)->fops->mknod,
- loc, mode, rdev);
+ loc, mode, rdev, params);
return 0;
unwind:
diff --git a/xlators/performance/io-threads/src/io-threads.c b/xlators/performance/io-threads/src/io-threads.c
index 5992944ab..0901a882b 100644
--- a/xlators/performance/io-threads/src/io-threads.c
+++ b/xlators/performance/io-threads/src/io-threads.c
@@ -429,22 +429,23 @@ iot_mknod_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int
iot_mknod_wrapper (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
- dev_t rdev)
+ dev_t rdev, dict_t *params)
{
STACK_WIND (frame, iot_mknod_cbk, FIRST_CHILD (this),
- FIRST_CHILD (this)->fops->mknod, loc, mode, rdev);
+ FIRST_CHILD (this)->fops->mknod, loc, mode, rdev, params);
return 0;
}
int
iot_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
- dev_t rdev)
+ dev_t rdev, dict_t *params)
{
call_stub_t *stub = NULL;
int ret = -1;
- stub = fop_mknod_stub (frame, iot_mknod_wrapper, loc, mode, rdev);
+ stub = fop_mknod_stub (frame, iot_mknod_wrapper, loc, mode, rdev,
+ params);
if (!stub) {
gf_log (this->name, GF_LOG_ERROR, "cannot create mknod 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 6039bd019..f82b50e1b 100644
--- a/xlators/performance/stat-prefetch/src/stat-prefetch.c
+++ b/xlators/performance/stat-prefetch/src/stat-prefetch.c
@@ -1757,9 +1757,9 @@ out:
}
-int32_t
+int
sp_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
- dev_t rdev)
+ dev_t rdev, dict_t *params)
{
int32_t op_errno = -1, ret = -1;
char need_unwind = 1;
@@ -1811,7 +1811,8 @@ out:
NULL);
} else {
STACK_WIND (frame, sp_new_entry_cbk, FIRST_CHILD(this),
- FIRST_CHILD(this)->fops->mknod, loc, mode, rdev);
+ FIRST_CHILD(this)->fops->mknod, loc, mode,
+ rdev, params);
}
return 0;
diff --git a/xlators/protocol/client/src/client.c b/xlators/protocol/client/src/client.c
index 98289b1d6..ef33fbe89 100644
--- a/xlators/protocol/client/src/client.c
+++ b/xlators/protocol/client/src/client.c
@@ -358,10 +358,9 @@ out:
}
-
-int32_t
+int
client_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
- dev_t rdev)
+ dev_t rdev, 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 e688e0e56..5e811949e 100644
--- a/xlators/protocol/legacy/client/src/client-protocol.c
+++ b/xlators/protocol/legacy/client/src/client-protocol.c
@@ -943,7 +943,7 @@ unwind:
*/
int
client_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
- dev_t dev)
+ dev_t dev, dict_t *params)
{
gf_hdr_common_t *hdr = NULL;
gf_fop_mknod_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 1fbe86923..730b4f813 100644
--- a/xlators/protocol/legacy/server/src/server-protocol.c
+++ b/xlators/protocol/legacy/server/src/server-protocol.c
@@ -4157,7 +4157,8 @@ server_mknod_resume (call_frame_t *frame, xlator_t *bound_xl)
STACK_WIND (frame, server_mknod_cbk,
bound_xl, bound_xl->fops->mknod,
- &(state->loc), state->mode, state->dev);
+ &(state->loc), state->mode, state->dev,
+ 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 644b84a20..926a5574a 100644
--- a/xlators/protocol/server/src/server3_1-fops.c
+++ b/xlators/protocol/server/src/server3_1-fops.c
@@ -2035,7 +2035,8 @@ server_mknod_resume (call_frame_t *frame, xlator_t *bound_xl)
STACK_WIND (frame, server_mknod_cbk,
bound_xl, bound_xl->fops->mknod,
- &(state->loc), state->mode, state->dev);
+ &(state->loc), state->mode, state->dev,
+ state->params);
return 0;
err:
diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c
index aae903fee..f732a20c8 100644
--- a/xlators/storage/posix/src/posix.c
+++ b/xlators/storage/posix/src/posix.c
@@ -1064,9 +1064,10 @@ posix_readlink (call_frame_t *frame, xlator_t *this,
return 0;
}
-int32_t
+
+int
posix_mknod (call_frame_t *frame, xlator_t *this,
- loc_t *loc, mode_t mode, dev_t dev)
+ loc_t *loc, mode_t mode, dev_t dev, dict_t *params)
{
int tmp_fd = 0;
int32_t op_ret = -1;