Merge tag 'nfsd-6.12-4' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
Pull nfsd fix from Chuck Lever: - Fix a v6.12-rc regression when exporting ext4 filesystems with NFSD * tag 'nfsd-6.12-4' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux: NFSD: Fix READDIR on NFSv3 mounts of ext4 exports
This commit is contained in:
+5
-8
@@ -903,11 +903,6 @@ __nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, umode_t type,
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (may_flags & NFSD_MAY_64BIT_COOKIE)
|
||||
file->f_mode |= FMODE_64BITHASH;
|
||||
else
|
||||
file->f_mode |= FMODE_32BITHASH;
|
||||
|
||||
*filp = file;
|
||||
out:
|
||||
return host_err;
|
||||
@@ -2174,13 +2169,15 @@ nfsd_readdir(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t *offsetp,
|
||||
loff_t offset = *offsetp;
|
||||
int may_flags = NFSD_MAY_READ;
|
||||
|
||||
if (fhp->fh_64bit_cookies)
|
||||
may_flags |= NFSD_MAY_64BIT_COOKIE;
|
||||
|
||||
err = nfsd_open(rqstp, fhp, S_IFDIR, may_flags, &file);
|
||||
if (err)
|
||||
goto out;
|
||||
|
||||
if (fhp->fh_64bit_cookies)
|
||||
file->f_mode |= FMODE_64BITHASH;
|
||||
else
|
||||
file->f_mode |= FMODE_32BITHASH;
|
||||
|
||||
offset = vfs_llseek(file, offset, SEEK_SET);
|
||||
if (offset < 0) {
|
||||
err = nfserrno((int)offset);
|
||||
|
||||
Reference in New Issue
Block a user