From f5afcc47f9f00472d6c2b3f48127e02332cd457a Mon Sep 17 00:00:00 2001 From: Shehjar Tikoo Date: Fri, 1 Oct 2010 01:58:05 +0000 Subject: nfs3: Revalidate inode on receiving ESTALE on lookup Signed-off-by: Shehjar Tikoo Signed-off-by: Vijay Bellur BUG: 1756 (NFS must revalidate inode on first ESTALE on lookup) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1756 --- xlators/nfs/server/src/nfs3.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'xlators/nfs/server/src/nfs3.h') diff --git a/xlators/nfs/server/src/nfs3.h b/xlators/nfs/server/src/nfs3.h index f7683eaa7..219c5ed4b 100644 --- a/xlators/nfs/server/src/nfs3.h +++ b/xlators/nfs/server/src/nfs3.h @@ -134,6 +134,10 @@ struct nfs3_state { int fdcount; }; +typedef enum nfs3_revalidate { + GF_NFS3_REVALIDATE = 1, + GF_NFS3_NONREVALIDATE +} nfs3_revalidate_t; typedef int (*nfs3_resume_fn_t) (void *cs); /* Structure used to communicate state between a fop and its callback. @@ -197,8 +201,11 @@ struct nfs3_local { int hashidx; fd_t *resolve_dir_fd; char *resolventry; + nfs3_revalidate_t revalidate; }; +#define nfs3_is_revalidate_lookup(cst) ((cst)->revalidate == GF_NFS3_REVALIDATE) + typedef struct nfs3_local nfs3_call_state_t; /* Queue of ops waiting for open fop to return. */ -- cgit