summaryrefslogtreecommitdiffstats
path: root/fs/nfs/objlayout
diff options
context:
space:
mode:
authorTrond Myklebust2015-03-09 20:23:35 +0100
committerTrond Myklebust2015-03-27 17:32:24 +0100
commit84a80f62f71beac20a426709c04b49f2bd352291 (patch)
tree8a6da9805e36e26425a2e482e6233dabebca60ca /fs/nfs/objlayout
parentnfs: clean up nfs_direct_IO (diff)
downloadkernel-qcow2-linux-84a80f62f71beac20a426709c04b49f2bd352291.tar.gz
kernel-qcow2-linux-84a80f62f71beac20a426709c04b49f2bd352291.tar.xz
kernel-qcow2-linux-84a80f62f71beac20a426709c04b49f2bd352291.zip
NFSv4.1: Convert pNFS deviceid to use kfree_rcu()
Use of synchronize_rcu() when unmounting and potentially freeing a lot of deviceids is problematic. There really is no reason why we can't just use kfree_rcu() here. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/objlayout')
-rw-r--r--fs/nfs/objlayout/objio_osd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/objlayout/objio_osd.c b/fs/nfs/objlayout/objio_osd.c
index 24e1d7403c0b..8b5e0e687d5e 100644
--- a/fs/nfs/objlayout/objio_osd.c
+++ b/fs/nfs/objlayout/objio_osd.c
@@ -57,7 +57,7 @@ objio_free_deviceid_node(struct nfs4_deviceid_node *d)
dprintk("%s: free od=%p\n", __func__, de->od.od);
osduld_put_device(de->od.od);
- kfree(de);
+ kfree_rcu(d, rcu);
}
struct objio_segment {