From 49f073ec63d0ede22a390bf1ac33939dd65b6241 Mon Sep 17 00:00:00 2001 From: Poornima Date: Fri, 6 Sep 2013 16:13:30 +0530 Subject: gfapi: store the open/create flags in fd_t object The flags passed on to open and create calls were not being saved in the fd_t object, hence the fd migration was failing. Change-Id: I486bb818477fe4c393d64a711534a082162a0e53 BUG: 1005159 Signed-off-by: Poornima Reviewed-on: http://review.gluster.org/5873 Tested-by: Gluster Build System Reviewed-by: Vijay Bellur --- api/src/glfs-fops.c | 6 ++++-- api/src/glfs-resolve.c | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'api/src') diff --git a/api/src/glfs-fops.c b/api/src/glfs-fops.c index 7cb442b5f..3aa8ab834 100644 --- a/api/src/glfs-fops.c +++ b/api/src/glfs-fops.c @@ -136,7 +136,8 @@ out: if (ret && glfd) { glfs_fd_destroy (glfd); glfd = NULL; - } else { + } else if (glfd) { + glfd->fd->flags = flags; fd_bind (glfd->fd); glfs_fd_bind (glfd); } @@ -404,7 +405,8 @@ out: if (ret && glfd) { glfs_fd_destroy (glfd); glfd = NULL; - } else { + } else if (glfd) { + glfd->fd->flags = flags; fd_bind (glfd->fd); glfs_fd_bind (glfd); } diff --git a/api/src/glfs-resolve.c b/api/src/glfs-resolve.c index beb270322..1dcaddecd 100644 --- a/api/src/glfs-resolve.c +++ b/api/src/glfs-resolve.c @@ -613,6 +613,7 @@ glfs_migrate_fd_safe (struct glfs *fs, xlator_t *newsubvol, fd_t *oldfd) goto out; } + newfd->flags = oldfd->flags; fd_bind (newfd); out: if (newinode) -- cgit