diff options
author | Amar Tumballi <amar@gluster.com> | 2011-01-13 06:55:37 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2011-02-22 02:12:02 -0800 |
commit | b2d94417764ca5462cbdcdd634ea45ba12c8877f (patch) | |
tree | 5dfed708d2eaca891462401cae817d27425674f6 /xlators/mount/fuse/src/fuse-bridge.h | |
parent | 23d9783a192669b638d42b8dd127ad69ea36f950 (diff) |
fuse-resolve: correction in resolve logic
* bring in soft (gfid based) and hard (path based) resolving
* 'fd' resolving to new graph is not yet done.
* fuse-resolve works similar to server-resolve
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2281 (I/O operations exit when add-brick is done)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2281
Diffstat (limited to 'xlators/mount/fuse/src/fuse-bridge.h')
-rw-r--r-- | xlators/mount/fuse/src/fuse-bridge.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/xlators/mount/fuse/src/fuse-bridge.h b/xlators/mount/fuse/src/fuse-bridge.h index c51733fcb72..c6462c7ed82 100644 --- a/xlators/mount/fuse/src/fuse-bridge.h +++ b/xlators/mount/fuse/src/fuse-bridge.h @@ -208,9 +208,9 @@ typedef enum { RESOLVE_MAY, RESOLVE_DONTCARE, RESOLVE_EXACT -} gf_resolve_type_t; +} fuse_resolve_type_t; -struct gf_resolve_comp { +struct fuse_resolve_comp { char *basename; ino_t ino; uint64_t gen; @@ -218,20 +218,22 @@ struct gf_resolve_comp { }; typedef struct { - gf_resolve_type_t type; + fuse_resolve_type_t type; ino_t ino; uint64_t gen; ino_t par; fd_t *fd; char *path; char *bname; + u_char gfid[16]; + u_char pargfid[16]; char *resolved; int op_ret; int op_errno; loc_t deep_loc; - struct gf_resolve_comp *components; + struct fuse_resolve_comp *components; int comp_count; -} gf_resolve_t; +} fuse_resolve_t; typedef struct { @@ -255,11 +257,11 @@ typedef struct { /* used within resolve_and_resume */ /* */ - gf_resolve_t resolve; - gf_resolve_t resolve2; + fuse_resolve_t resolve; + fuse_resolve_t resolve2; loc_t *loc_now; - gf_resolve_t *resolve_now; + fuse_resolve_t *resolve_now; void *resume_fn; |