diff options
author | Anand Avati <avati@gluster.com> | 2010-09-03 13:59:06 +0000 |
---|---|---|
committer | Vijay Bellur <vijay@dev.gluster.com> | 2010-09-04 01:45:10 -0700 |
commit | b304333f8686468b2d3b2c60e040b1667d8c38c9 (patch) | |
tree | 8923cfe294e7cb61745d7bf3aed9523c35332f20 /xlators/cluster/afr/src | |
parent | ac60a2a7f3c7b07830669e282d9fc796cbc78f38 (diff) |
gfid: change in create() prototype to have params dictionary with uuid in it
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com>
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 971 (dynamic volume management)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
Diffstat (limited to 'xlators/cluster/afr/src')
-rw-r--r-- | xlators/cluster/afr/src/afr-common.c | 2 | ||||
-rw-r--r-- | xlators/cluster/afr/src/afr-dir-write.c | 8 | ||||
-rw-r--r-- | xlators/cluster/afr/src/afr-dir-write.h | 3 | ||||
-rw-r--r-- | xlators/cluster/afr/src/afr.h | 1 |
4 files changed, 11 insertions, 3 deletions
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c index 22bb4322edd..6a732e1180d 100644 --- a/xlators/cluster/afr/src/afr-common.c +++ b/xlators/cluster/afr/src/afr-common.c @@ -391,6 +391,8 @@ afr_local_cleanup (afr_local_t *local, xlator_t *this) { /* create */ if (local->cont.create.fd) fd_unref (local->cont.create.fd); + if (local->cont.create.params) + dict_unref (local->cont.create.params); } { /* writev */ diff --git a/xlators/cluster/afr/src/afr-dir-write.c b/xlators/cluster/afr/src/afr-dir-write.c index 27dd3517794..3e9f48f9a2c 100644 --- a/xlators/cluster/afr/src/afr-dir-write.c +++ b/xlators/cluster/afr/src/afr-dir-write.c @@ -253,7 +253,8 @@ afr_create_wind (call_frame_t *frame, xlator_t *this) &local->loc, local->cont.create.flags, local->cont.create.mode, - local->cont.create.fd); + local->cont.create.fd, + local->cont.create.params); if (!--call_count) break; } @@ -280,7 +281,8 @@ afr_create_done (call_frame_t *frame, xlator_t *this) int afr_create (call_frame_t *frame, xlator_t *this, - loc_t *loc, int32_t flags, mode_t mode, fd_t *fd) + loc_t *loc, int32_t flags, mode_t mode, + fd_t *fd, dict_t *params) { afr_private_t * priv = NULL; afr_local_t * local = NULL; @@ -326,6 +328,8 @@ afr_create (call_frame_t *frame, xlator_t *this, local->cont.create.flags = flags; local->cont.create.mode = mode; local->cont.create.fd = fd_ref (fd); + if (params) + local->cont.create.params = dict_ref (params); if (loc->parent) local->cont.create.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 4fa618b6575..5369ba968a0 100644 --- a/xlators/cluster/afr/src/afr-dir-write.h +++ b/xlators/cluster/afr/src/afr-dir-write.h @@ -22,7 +22,8 @@ int32_t afr_create (call_frame_t *frame, xlator_t *this, - loc_t *loc, int32_t flags, mode_t mode, fd_t *fd); + loc_t *loc, int32_t flags, mode_t mode, + fd_t *fd, dict_t *params); int32_t afr_mknod (call_frame_t *frame, xlator_t *this, diff --git a/xlators/cluster/afr/src/afr.h b/xlators/cluster/afr/src/afr.h index 6df8c697ca6..f222cb0f866 100644 --- a/xlators/cluster/afr/src/afr.h +++ b/xlators/cluster/afr/src/afr.h @@ -480,6 +480,7 @@ typedef struct _afr_local { uint64_t gen; ino_t parent_ino; fd_t *fd; + dict_t *params; int32_t flags; mode_t mode; inode_t *inode; |