diff options
author | Shehjar Tikoo <shehjart@gluster.com> | 2010-10-01 01:58:05 +0000 |
---|---|---|
committer | Vijay Bellur <vijay@dev.gluster.com> | 2010-10-01 01:02:56 -0700 |
commit | f5afcc47f9f00472d6c2b3f48127e02332cd457a (patch) | |
tree | e6dab0b30438597ddb4e82158a4e786874fdf1a2 /xlators/nfs/server/src/nfs3.h | |
parent | 9555e5ee7dd2c3a2c98cf505bb198e453ea747d1 (diff) |
nfs3: Revalidate inode on receiving ESTALE on lookup
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1756 (NFS must revalidate inode on first ESTALE on lookup)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1756
Diffstat (limited to 'xlators/nfs/server/src/nfs3.h')
-rw-r--r-- | xlators/nfs/server/src/nfs3.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/xlators/nfs/server/src/nfs3.h b/xlators/nfs/server/src/nfs3.h index f7683eaa789..219c5ed4bde 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. */ |