summaryrefslogtreecommitdiffstats
path: root/libglusterfs
diff options
context:
space:
mode:
Diffstat (limited to 'libglusterfs')
-rw-r--r--libglusterfs/src/call-stub.c15
-rw-r--r--libglusterfs/src/call-stub.h9
-rw-r--r--libglusterfs/src/defaults.c10
-rw-r--r--libglusterfs/src/defaults.h8
-rw-r--r--libglusterfs/src/xlator.h9
5 files changed, 23 insertions, 28 deletions
diff --git a/libglusterfs/src/call-stub.c b/libglusterfs/src/call-stub.c
index 89788b3b8..4e62276fc 100644
--- a/libglusterfs/src/call-stub.c
+++ b/libglusterfs/src/call-stub.c
@@ -772,11 +772,9 @@ out:
call_stub_t *
-fop_create_stub (call_frame_t *frame,
- fop_create_t fn,
- loc_t *loc,
- int32_t flags,
- mode_t mode, fd_t *fd)
+fop_create_stub (call_frame_t *frame, fop_create_t fn,
+ loc_t *loc, int32_t flags, mode_t mode,
+ fd_t *fd, dict_t *params)
{
call_stub_t *stub = NULL;
@@ -792,6 +790,8 @@ fop_create_stub (call_frame_t *frame,
stub->args.create.mode = mode;
if (fd)
stub->args.create.fd = fd_ref (fd);
+ if (params)
+ stub->args.create.params = dict_ref (params);
out:
return stub;
}
@@ -2130,7 +2130,8 @@ call_resume_wind (call_stub_t *stub)
&stub->args.create.loc,
stub->args.create.flags,
stub->args.create.mode,
- stub->args.create.fd);
+ stub->args.create.fd,
+ stub->args.create.params);
break;
}
case GF_FOP_STAT:
@@ -3315,6 +3316,8 @@ call_stub_destroy_wind (call_stub_t *stub)
loc_wipe (&stub->args.create.loc);
if (stub->args.create.fd)
fd_unref (stub->args.create.fd);
+ if (stub->args.create.params)
+ dict_unref (stub->args.create.params);
break;
}
case GF_FOP_STAT:
diff --git a/libglusterfs/src/call-stub.h b/libglusterfs/src/call-stub.h
index a284ef929..fd79cc2d6 100644
--- a/libglusterfs/src/call-stub.h
+++ b/libglusterfs/src/call-stub.h
@@ -232,6 +232,7 @@ typedef struct {
int32_t flags;
mode_t mode;
fd_t *fd;
+ dict_t *params;
} create;
struct {
fop_create_cbk_t fn;
@@ -778,11 +779,9 @@ fop_link_cbk_stub (call_frame_t *frame,
struct iatt *postparent);
call_stub_t *
-fop_create_stub (call_frame_t *frame,
- fop_create_t fn,
- loc_t *loc,
- int32_t flags,
- mode_t mode, fd_t *fd);
+fop_create_stub (call_frame_t *frame, fop_create_t fn,
+ loc_t *loc, int32_t flags, mode_t mode,
+ fd_t *fd, dict_t *params);
call_stub_t *
fop_create_cbk_stub (call_frame_t *frame,
diff --git a/libglusterfs/src/defaults.c b/libglusterfs/src/defaults.c
index f5317cf86..8a450b6d6 100644
--- a/libglusterfs/src/defaults.c
+++ b/libglusterfs/src/defaults.c
@@ -471,16 +471,14 @@ default_create_cbk (call_frame_t *frame,
}
int32_t
-default_create (call_frame_t *frame,
- xlator_t *this,
- loc_t *loc,
- int32_t flags,
- mode_t mode, fd_t *fd)
+default_create (call_frame_t *frame, xlator_t *this,
+ loc_t *loc, int32_t flags, mode_t mode,
+ fd_t *fd, dict_t *params)
{
STACK_WIND (frame, default_create_cbk,
FIRST_CHILD(this),
FIRST_CHILD(this)->fops->create,
- loc, flags, mode, fd);
+ loc, flags, mode, fd, params);
return 0;
}
diff --git a/libglusterfs/src/defaults.h b/libglusterfs/src/defaults.h
index 2955bd8eb..751380d32 100644
--- a/libglusterfs/src/defaults.h
+++ b/libglusterfs/src/defaults.h
@@ -116,11 +116,9 @@ int32_t default_link (call_frame_t *frame,
loc_t *oldloc,
loc_t *newloc);
-int32_t default_create (call_frame_t *frame,
- xlator_t *this,
- loc_t *loc,
- int32_t flags,
- mode_t mode, fd_t *fd);
+int32_t default_create (call_frame_t *frame, xlator_t *this,
+ loc_t *loc, int32_t flags, mode_t mode,
+ fd_t *fd, dict_t *params);
int32_t default_open (call_frame_t *frame,
xlator_t *this,
diff --git a/libglusterfs/src/xlator.h b/libglusterfs/src/xlator.h
index 208f7a64a..10f0418df 100644
--- a/libglusterfs/src/xlator.h
+++ b/libglusterfs/src/xlator.h
@@ -477,12 +477,9 @@ typedef int32_t (*fop_link_t) (call_frame_t *frame,
loc_t *oldloc,
loc_t *newloc);
-typedef int32_t (*fop_create_t) (call_frame_t *frame,
- xlator_t *this,
- loc_t *loc,
- int32_t flags,
- mode_t mode,
- fd_t *fd);
+typedef int32_t (*fop_create_t) (call_frame_t *frame, xlator_t *this,
+ loc_t *loc, int32_t flags, mode_t mode,
+ fd_t *fd, dict_t *params);
/* Tell subsequent writes on the fd_t to fsync after every writev fop without
* requiring a fsync fop.