summaryrefslogtreecommitdiffstats
path: root/libglusterfsclient/src/libglusterfsclient.c
diff options
context:
space:
mode:
authorShehjar Tikoo <shehjart@gluster.com>2009-10-01 06:59:15 +0000
committerAnand V. Avati <avati@dev.gluster.com>2009-10-01 07:24:30 -0700
commit23d896068f98538954772dcd90a112b6cac17d63 (patch)
tree40a5f364d00b58522ad19f7b9a2d26148c0f688e /libglusterfsclient/src/libglusterfsclient.c
parent1640178a1004cb5a43cdf2e5fb375807812f367f (diff)
libglusterfsclient: Use fsetattr for fchown
Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
Diffstat (limited to 'libglusterfsclient/src/libglusterfsclient.c')
-rwxr-xr-xlibglusterfsclient/src/libglusterfsclient.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libglusterfsclient/src/libglusterfsclient.c b/libglusterfsclient/src/libglusterfsclient.c
index b76e9171f..0aeb958ea 100755
--- a/libglusterfsclient/src/libglusterfsclient.c
+++ b/libglusterfsclient/src/libglusterfsclient.c
@@ -5622,6 +5622,8 @@ glusterfs_fchown (glusterfs_file_t fd, uid_t uid, gid_t gid)
{
int op_ret = -1;
libglusterfs_client_fd_ctx_t *fdctx = NULL;
+ struct stat stbuf = {0,};
+ int32_t valid = 0;
GF_VALIDATE_OR_GOTO (LIBGF_XL_NAME, fd, out);
@@ -5631,8 +5633,12 @@ glusterfs_fchown (glusterfs_file_t fd, uid_t uid, gid_t gid)
errno = EBADF;
goto out;
}
+ stbuf.st_uid = uid;
+ stbuf.st_gid = gid;
- op_ret = libgf_client_fchown (fdctx->ctx, fd, uid, gid);
+ valid |= (GF_SET_ATTR_UID | GF_SET_ATTR_GID);
+
+ op_ret = libgf_client_fsetattr (fdctx->ctx, fd, &stbuf, valid);
out:
return op_ret;