diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2017-08-01 11:53:49 -0400 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2017-08-15 11:54:47 -0400 |
commit | e824f99adaaf1ed0e03eac8574599af6d992163d (patch) | |
tree | c5d2716566d21f023bd278dae6a92a06cbe72816 /fs/nfs/inode.c | |
parent | b30d2f04c35d539bf8003b3e014c389abefc249b (diff) | |
download | linux-stable-e824f99adaaf1ed0e03eac8574599af6d992163d.tar.gz linux-stable-e824f99adaaf1ed0e03eac8574599af6d992163d.tar.bz2 linux-stable-e824f99adaaf1ed0e03eac8574599af6d992163d.zip |
NFSv4: Use a mutex to protect the per-inode commit lists
The commit lists can get very large, so using the inode->i_lock can
end up affecting general metadata performance.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/inode.c')
-rw-r--r-- | fs/nfs/inode.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 109279d6d91b..34d9ebbc0dfd 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c @@ -2016,6 +2016,7 @@ static void init_once(void *foo) nfsi->commit_info.ncommit = 0; atomic_set(&nfsi->commit_info.rpcs_out, 0); init_rwsem(&nfsi->rmdir_sem); + mutex_init(&nfsi->commit_mutex); nfs4_init_once(nfsi); } |