nfs42: serialize LAYOUTSTATS calls of the same file
authorPeng Tao <tao.peng@primarydata.com>
Tue, 23 Jun 2015 11:52:03 +0000 (19:52 +0800)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Wed, 24 Jun 2015 14:53:11 +0000 (10:53 -0400)
There is no need to report concurrently.

Reviewed-by: Jeff Layton <jeff.layton@primarydata.com>
Signed-off-by: Peng Tao <tao.peng@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/nfs42proc.c
fs/nfs/pnfs.c
include/linux/nfs_fs.h

index ee02483..06c74cd 100644 (file)
@@ -204,6 +204,9 @@ nfs42_layoutstat_release(void *calldata)
                nfss->pnfs_curr_ld->cleanup_layoutstats(data);
 
        pnfs_put_layout_hdr(NFS_I(data->args.inode)->layout);
+       smp_mb__before_atomic();
+       clear_bit(NFS_INO_LAYOUTSTATS, &NFS_I(data->args.inode)->flags);
+       smp_mb__after_atomic();
        nfs_iput_and_deactive(data->inode);
        kfree(data->args.devinfo);
        kfree(data);
diff --cc fs/nfs/pnfs.c
Simple merge
Simple merge