diff options
Diffstat (limited to 'fs/nfsd/vfs.c')
| -rw-r--r-- | fs/nfsd/vfs.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index 96360a83cb91..661a6cf8e826 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c | |||
| @@ -2033,15 +2033,17 @@ out: | |||
| 2033 | __be32 | 2033 | __be32 |
| 2034 | nfsd_statfs(struct svc_rqst *rqstp, struct svc_fh *fhp, struct kstatfs *stat, int access) | 2034 | nfsd_statfs(struct svc_rqst *rqstp, struct svc_fh *fhp, struct kstatfs *stat, int access) |
| 2035 | { | 2035 | { |
| 2036 | struct path path = { | ||
| 2037 | .mnt = fhp->fh_export->ex_path.mnt, | ||
| 2038 | .dentry = fhp->fh_dentry, | ||
| 2039 | }; | ||
| 2040 | __be32 err; | 2036 | __be32 err; |
| 2041 | 2037 | ||
| 2042 | err = fh_verify(rqstp, fhp, 0, NFSD_MAY_NOP | access); | 2038 | err = fh_verify(rqstp, fhp, 0, NFSD_MAY_NOP | access); |
| 2043 | if (!err && vfs_statfs(&path, stat)) | 2039 | if (!err) { |
| 2044 | err = nfserr_io; | 2040 | struct path path = { |
| 2041 | .mnt = fhp->fh_export->ex_path.mnt, | ||
| 2042 | .dentry = fhp->fh_dentry, | ||
| 2043 | }; | ||
| 2044 | if (vfs_statfs(&path, stat)) | ||
| 2045 | err = nfserr_io; | ||
| 2046 | } | ||
| 2045 | return err; | 2047 | return err; |
| 2046 | } | 2048 | } |
| 2047 | 2049 | ||
