diff options
| author | Neil Brown <neilb@cse.unsw.edu.au> | 2002-09-12 01:42:25 -0700 |
|---|---|---|
| committer | David S. Miller <davem@nuts.ninka.net> | 2002-09-12 01:42:25 -0700 |
| commit | 37dbeea3430745f4c062e8681f594bae33f7be73 (patch) | |
| tree | 45e3edb62cd1e1335fa9ea9cd65effcb85379422 /include | |
| parent | 0414681697d939f8853ce12c804f12834a2bc6c1 (diff) | |
[PATCH] kNFSd 12: Change exp_parent to talk directory tree, not hash table.
Currently get_parent (needed to find the exportpoint
above a given dentry) walks the hash table of export points
checking each with is_subdir. Now it walks up the d_parent
link checking each for membership in the hashtable.
nfsd_lookup currently does that walk too (when crossing
a mountpoint backwards) so the code gets unified.
This approach makes more sense as we move towards a cache
for export information that can be filled on demand.
It also assumes less about the hash table (which will change).
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/nfsd/export.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/nfsd/export.h b/include/linux/nfsd/export.h index 4b3f7b1bfd74..d3bd2a796716 100644 --- a/include/linux/nfsd/export.h +++ b/include/linux/nfsd/export.h @@ -91,6 +91,8 @@ struct svc_export * exp_get_fsid(struct svc_client *clp, int fsid); struct svc_export * exp_get_by_name(struct svc_client *clp, struct vfsmount *mnt, struct dentry *dentry); +struct svc_export * exp_parent(struct svc_client *clp, struct vfsmount *mnt, + struct dentry *dentry); int exp_rootfh(struct svc_client *, char *path, struct knfsd_fh *, int maxsize); int nfserrno(int errno); |
