summaryrefslogtreecommitdiffstats
path: root/xlators/protocol/server/src/server-protocol.h
diff options
context:
space:
mode:
authorAnand Avati <avati@gluster.com>2009-10-23 08:23:20 +0000
committerAnand V. Avati <avati@dev.gluster.com>2009-10-23 07:03:23 -0700
commita5219b99db8076dc8606a44fd1cfaf2bd69a0d31 (patch)
treece13c65399269622be4d14e4a7ecba537737bf24 /xlators/protocol/server/src/server-protocol.h
parent52b02bbabaaa78061c6b223715f57853cbcfd652 (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.h11
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;