diff options
author | Raghavendra G <raghavendra@gluster.com> | 2012-08-27 16:59:13 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-10-02 14:18:14 -0700 |
commit | 3372f198a8272b3467944c759be9975ee8f0aa02 (patch) | |
tree | c0295fd787c3c30b3a2442e3375539767a11d59b /xlators/mount/fuse/src/fuse-bridge.h | |
parent | 04371377f2f1a842ee3875f9fa415bbc97f20f65 (diff) |
fuse: create a new fd during fd-migration.
Migration of fd to new graph involves creation of a new fd
to be used only for calls sent in that graph.
Earlier approach of using same fd across all graphs, with the
associated inode always guaranteed to be the one valid in
currently active graph, had issues because of the broken
immutability of the association of fd with an inode
(for the life of fd).
With this patch, there will be a basefd, which the kernel will be
aware of. This basefd, contains a mapping of an fd which is valid
in currently active graph.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Change-Id: I2b459f05bc2690a66498be107fad6444e3158138
BUG: 802414
Reviewed-on: http://review.gluster.org/3566
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'xlators/mount/fuse/src/fuse-bridge.h')
-rw-r--r-- | xlators/mount/fuse/src/fuse-bridge.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/xlators/mount/fuse/src/fuse-bridge.h b/xlators/mount/fuse/src/fuse-bridge.h index c700554f9..fdfe08b2c 100644 --- a/xlators/mount/fuse/src/fuse-bridge.h +++ b/xlators/mount/fuse/src/fuse-bridge.h @@ -400,10 +400,10 @@ typedef struct { int32_t fd_no; } fuse_state_t; -typedef struct fuse_fd_ctx { +typedef struct { uint32_t open_flags; char migration_failed; - fd_t *fd; + fd_t *activefd; } fuse_fd_ctx_t; typedef void (*fuse_resume_fn_t) (fuse_state_t *state); |