Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'nfs-for-5.3-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs

Pull NFS client bugfix from Trond Myklebust:
"Regression fix inode fileid checks in attribute revalidation code"

* tag 'nfs-for-5.3-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
NFS: Fix inode fileid checks in attribute revalidation code

+10 -8
+10 -8
fs/nfs/inode.c
··· 1403 1403 if (NFS_PROTO(inode)->have_delegation(inode, FMODE_READ)) 1404 1404 return 0; 1405 1405 1406 - /* No fileid? Just exit */ 1407 - if (!(fattr->valid & NFS_ATTR_FATTR_FILEID)) 1408 - return 0; 1406 + if (!(fattr->valid & NFS_ATTR_FATTR_FILEID)) { 1407 + /* Only a mounted-on-fileid? Just exit */ 1408 + if (fattr->valid & NFS_ATTR_FATTR_MOUNTED_ON_FILEID) 1409 + return 0; 1409 1410 /* Has the inode gone and changed behind our back? */ 1410 - if (nfsi->fileid != fattr->fileid) { 1411 + } else if (nfsi->fileid != fattr->fileid) { 1411 1412 /* Is this perhaps the mounted-on fileid? */ 1412 1413 if ((fattr->valid & NFS_ATTR_FATTR_MOUNTED_ON_FILEID) && 1413 1414 nfsi->fileid == fattr->mounted_on_fileid) ··· 1808 1807 nfs_display_fhandle_hash(NFS_FH(inode)), 1809 1808 atomic_read(&inode->i_count), fattr->valid); 1810 1809 1811 - /* No fileid? Just exit */ 1812 - if (!(fattr->valid & NFS_ATTR_FATTR_FILEID)) 1813 - return 0; 1810 + if (!(fattr->valid & NFS_ATTR_FATTR_FILEID)) { 1811 + /* Only a mounted-on-fileid? Just exit */ 1812 + if (fattr->valid & NFS_ATTR_FATTR_MOUNTED_ON_FILEID) 1813 + return 0; 1814 1814 /* Has the inode gone and changed behind our back? */ 1815 - if (nfsi->fileid != fattr->fileid) { 1815 + } else if (nfsi->fileid != fattr->fileid) { 1816 1816 /* Is this perhaps the mounted-on fileid? */ 1817 1817 if ((fattr->valid & NFS_ATTR_FATTR_MOUNTED_ON_FILEID) && 1818 1818 nfsi->fileid == fattr->mounted_on_fileid)