diff options
author | J. Bruce Fields <bfields@citi.umich.edu> | 2009-02-21 16:17:19 -0500 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2009-03-18 17:30:52 -0400 |
commit | 3e633079e377d2b527a8390f63ceb887b5cabfbf (patch) | |
tree | ed2b9e5dea7b450a5d3e9ac7cb8e64c4b7ae14a5 | |
parent | 819a8f539acf7838d62fec20e88401ff53303cd1 (diff) |
nfsd4: add a helper function to decide if stateid is delegation
Make this check self-documenting.
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
-rw-r--r-- | fs/nfsd/nfs4state.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 909a7a493688..d5555850cb64 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c | |||
@@ -2048,6 +2048,11 @@ static int check_stateid_generation(stateid_t *in, stateid_t *ref) | |||
2048 | return nfs_ok; | 2048 | return nfs_ok; |
2049 | } | 2049 | } |
2050 | 2050 | ||
2051 | static int is_delegation_stateid(stateid_t *stateid) | ||
2052 | { | ||
2053 | return stateid->si_fileid == 0; | ||
2054 | } | ||
2055 | |||
2051 | /* | 2056 | /* |
2052 | * Checks for stateid operations | 2057 | * Checks for stateid operations |
2053 | */ | 2058 | */ |
@@ -2073,7 +2078,7 @@ nfs4_preprocess_stateid_op(struct svc_fh *current_fh, stateid_t *stateid, int fl | |||
2073 | goto out; | 2078 | goto out; |
2074 | 2079 | ||
2075 | status = nfserr_bad_stateid; | 2080 | status = nfserr_bad_stateid; |
2076 | if (!stateid->si_fileid) { /* delegation stateid */ | 2081 | if (is_delegation_stateid(stateid)) { |
2077 | dp = find_delegation_stateid(ino, stateid); | 2082 | dp = find_delegation_stateid(ino, stateid); |
2078 | if (!dp) | 2083 | if (!dp) |
2079 | goto out; | 2084 | goto out; |