diff options
author | Anand Avati <avati@gluster.com> | 2009-10-23 08:23:20 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2009-10-23 07:03:23 -0700 |
commit | a5219b99db8076dc8606a44fd1cfaf2bd69a0d31 (patch) | |
tree | ce13c65399269622be4d14e4a7ecba537737bf24 /xlators/protocol/server/src/server-protocol.h | |
parent | 52b02bbabaaa78061c6b223715f57853cbcfd652 (diff) |
protocol/server: deep resolution support
when requested ino/gen is not available in the inode table cache,
then use the path presented by the client to lookup entries with
the hope that the requested ino/gen gets populated into the cache.
re-perform regular search after finishing the deep component
lookup
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 315 (generation number support)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
Diffstat (limited to 'xlators/protocol/server/src/server-protocol.h')
-rw-r--r-- | xlators/protocol/server/src/server-protocol.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/xlators/protocol/server/src/server-protocol.h b/xlators/protocol/server/src/server-protocol.h index 24e3a55f01f..cb330ef1e1a 100644 --- a/xlators/protocol/server/src/server-protocol.h +++ b/xlators/protocol/server/src/server-protocol.h @@ -118,6 +118,14 @@ typedef enum { RESOLVE_EXACT } server_resolve_type_t; + +struct resolve_comp { + char *basename; + ino_t ino; + uint64_t gen; + inode_t *inode; +}; + typedef struct { server_resolve_type_t type; uint64_t fd_no; @@ -129,6 +137,9 @@ typedef struct { char *resolved; int op_ret; int op_errno; + loc_t deep_loc; + struct resolve_comp *components; + int comp_count; } server_resolve_t; |