diff options
author | Poornima <pgurusid@redhat.com> | 2013-09-06 16:13:30 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2013-09-06 15:56:57 -0700 |
commit | 1955f7dc84239f23660e23e637f9ddcc672cbeb7 (patch) | |
tree | 46bebbea691e991727b3d6379d4635e2f3f1e39f /api/src | |
parent | b610f1be7cd71b8f3e51c224c8b6fe0e7366c8cf (diff) |
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 <pgurusid@redhat.com>
Reviewed-on: http://review.gluster.org/5837
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'api/src')
-rw-r--r-- | api/src/glfs-fops.c | 2 | ||||
-rw-r--r-- | api/src/glfs-resolve.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/api/src/glfs-fops.c b/api/src/glfs-fops.c index 3191ed7009c..8df237fd37b 100644 --- a/api/src/glfs-fops.c +++ b/api/src/glfs-fops.c @@ -137,6 +137,7 @@ out: glfs_fd_destroy (glfd); glfd = NULL; } else if (glfd) { + glfd->fd->flags = flags; fd_bind (glfd->fd); glfs_fd_bind (glfd); } @@ -414,6 +415,7 @@ out: glfs_fd_destroy (glfd); glfd = NULL; } 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 104fc9e48f2..3179af22c2d 100644 --- a/api/src/glfs-resolve.c +++ b/api/src/glfs-resolve.c @@ -632,6 +632,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) |