diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2016-05-16 20:41:14 +0200 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2016-05-17 21:48:05 +0200 |
commit | f538d0ba5be39c52addff01c7ec31f0b90e57dfc (patch) | |
tree | 63b6a1b35e3b21c998849000c410e10678614b05 /fs/nfs | |
parent | xprtrdma: Remove qplock (diff) | |
download | linux-f538d0ba5be39c52addff01c7ec31f0b90e57dfc.tar.xz linux-f538d0ba5be39c52addff01c7ec31f0b90e57dfc.zip |
pNFS: Fix a leaked layoutstats flag
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r-- | fs/nfs/pnfs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c index 5b404d926e08..faea98281c75 100644 --- a/fs/nfs/pnfs.c +++ b/fs/nfs/pnfs.c @@ -2407,7 +2407,7 @@ pnfs_report_layoutstat(struct inode *inode, gfp_t gfp_flags) spin_lock(&inode->i_lock); if (!NFS_I(inode)->layout) { spin_unlock(&inode->i_lock); - goto out; + goto out_clear_layoutstats; } hdr = NFS_I(inode)->layout; pnfs_get_layout_hdr(hdr); @@ -2436,6 +2436,7 @@ out_free: kfree(data); out_put: pnfs_put_layout_hdr(hdr); +out_clear_layoutstats: smp_mb__before_atomic(); clear_bit(NFS_INO_LAYOUTSTATS, &nfsi->flags); smp_mb__after_atomic(); |