nfs42: serialize LAYOUTSTATS calls of the same file
[firefly-linux-kernel-4.4.55.git] / fs / nfs / nfs42proc.c
index ee0248340a429b01ef48331e3832582316f6c8cf..06c74cd9387566ff57c2b8a23109b7895d215755 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);