summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPoornima <pgurusid@redhat.com>2013-09-06 16:13:30 +0530
committerAnand Avati <avati@redhat.com>2013-09-06 15:56:57 -0700
commit1955f7dc84239f23660e23e637f9ddcc672cbeb7 (patch)
tree46bebbea691e991727b3d6379d4635e2f3f1e39f
parentb610f1be7cd71b8f3e51c224c8b6fe0e7366c8cf (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>
-rw-r--r--api/src/glfs-fops.c2
-rw-r--r--api/src/glfs-resolve.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/api/src/glfs-fops.c b/api/src/glfs-fops.c
index 3191ed7..8df237f 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 104fc9e..3179af2 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)