diff options
Diffstat (limited to 'libglusterfs')
-rw-r--r-- | libglusterfs/src/call-stub.c | 15 | ||||
-rw-r--r-- | libglusterfs/src/call-stub.h | 9 | ||||
-rw-r--r-- | libglusterfs/src/defaults.c | 10 | ||||
-rw-r--r-- | libglusterfs/src/defaults.h | 8 | ||||
-rw-r--r-- | libglusterfs/src/xlator.h | 9 |
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. |