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;  | 
