summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src
diff options
context:
space:
mode:
Diffstat (limited to 'libglusterfs/src')
-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
5 files changed, 23 insertions, 32 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,