From df9bfff8ea08176a3874fb0cdec8fd4b988d3ffa Mon Sep 17 00:00:00 2001 From: Amar Tumballi Date: Wed, 31 Jul 2013 23:58:04 +0530 Subject: core: changes to support gfid-access Change-Id: I38d2fdc47e4b805deafca6805e54807976ffdb7e Signed-off-by: Amar Tumballi BUG: 952029 Reviewed-on: http://review.gluster.org/5496 Tested-by: Gluster Build System Reviewed-by: Anand Avati --- xlators/storage/posix/src/posix.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'xlators/storage') diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c index 3c7816cfb..fc7c259e9 100644 --- a/xlators/storage/posix/src/posix.c +++ b/xlators/storage/posix/src/posix.c @@ -842,6 +842,7 @@ posix_mknod (call_frame_t *frame, xlator_t *this, struct iatt preparent = {0,}; struct iatt postparent = {0,}; void * uuid_req = NULL; + mode_t st_mode = 0; DECLARE_OLD_FS_ID_VAR; @@ -917,6 +918,19 @@ real_op: strerror (op_errno)); goto out; } + } else { + op_ret = dict_get_uint32 (xdata, GLUSTERFS_CREATE_MODE_KEY, + &st_mode); + + if (op_ret >= 0) { + op_ret = chmod (real_path, st_mode); + if (op_ret < 0) { + gf_log (this->name, GF_LOG_WARNING, + "chmod failed (%s)", strerror (errno)); + } + + dict_del (xdata, GLUSTERFS_CREATE_MODE_KEY); + } } op_ret = posix_gfid_set (this, real_path, loc, xdata); -- cgit