summaryrefslogtreecommitdiffstats
path: root/fs/nfs/pnfs.h
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/pnfs.h
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/pnfs.h')
-rw-r--r--fs/nfs/pnfs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h
index 635f0865671c..a1fc16c971a7 100644
--- a/fs/nfs/pnfs.h
+++ b/fs/nfs/pnfs.h
@@ -302,6 +302,7 @@ struct nfs4_deviceid_node {
unsigned long flags;
unsigned long timestamp_unavailable;
struct nfs4_deviceid deviceid;
+ struct rcu_head rcu;
atomic_t ref;
};