From b304333f8686468b2d3b2c60e040b1667d8c38c9 Mon Sep 17 00:00:00 2001 From: Anand Avati Date: Fri, 3 Sep 2010 13:59:06 +0000 Subject: gfid: change in create() prototype to have params dictionary with uuid in it Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati Signed-off-by: Vijay Bellur BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971 --- libglusterfs/src/call-stub.c | 15 +++++++++------ libglusterfs/src/call-stub.h | 9 ++++----- libglusterfs/src/defaults.c | 10 ++++------ libglusterfs/src/defaults.h | 8 +++----- libglusterfs/src/xlator.h | 9 +++------ 5 files changed, 23 insertions(+), 28 deletions(-) (limited to 'libglusterfs') diff --git a/libglusterfs/src/call-stub.c b/libglusterfs/src/call-stub.c index 89788b3b..4e62276f 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 a284ef92..fd79cc2d 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 f5317cf8..8a450b6d 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 2955bd8e..751380d3 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 208f7a64..10f0418d 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. -- cgit