NFSv4/pNFS: Remove dead code
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 26 Jul 2021 11:59:20 +0000 (07:59 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Mon, 9 Aug 2021 20:57:04 +0000 (16:57 -0400)
Since commit 2b28a7bee453 ("fs, nfs: convert
pnfs_layout_hdr.plh_refcount from atomic_t to refcount_t") it has not
been legal to bump a zero refcount, so the code that tries to allow it
if the NFS_LSEG_VALID flag is still set would cause trouble. Luckily,
NFS_LSEG_VALID has its own refcount so we can never hit this bad code
snippet in practice. Remove it to avoid confusion.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/pnfs.c

index da5caca..8567061 100644 (file)
@@ -596,10 +596,6 @@ pnfs_put_lseg(struct pnfs_layout_segment *lseg)
        inode = lo->plh_inode;
 
        if (refcount_dec_and_lock(&lseg->pls_refcount, &inode->i_lock)) {
-               if (test_bit(NFS_LSEG_VALID, &lseg->pls_flags)) {
-                       spin_unlock(&inode->i_lock);
-                       return;
-               }
                pnfs_get_layout_hdr(lo);
                pnfs_layout_remove_lseg(lo, lseg);
                if (pnfs_cache_lseg_for_layoutreturn(lo, lseg))