From a5219b99db8076dc8606a44fd1cfaf2bd69a0d31 Mon Sep 17 00:00:00 2001 From: Anand Avati Date: Fri, 23 Oct 2009 08:23:20 +0000 Subject: 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 BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 --- xlators/protocol/server/src/server-protocol.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'xlators/protocol/server/src/server-protocol.h') 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; -- cgit