This is a note to let you know that I've just added the patch titled
NFS: Use raw_write_seqcount_begin/end int nfs4_reclaim_open_state
to the 3.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
nfs-use-raw_write_seqcount_begin-end-int-nfs4_reclaim_open_state.patch
and it can be found in the queue-3.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.
>From abbec2da13f0e4c5d9b78b7e2c025a3e617228ba Mon Sep 17 00:00:00 2001
From: Trond Myklebust <[email protected]>
Date: Thu, 5 Jun 2014 10:42:37 -0400
Subject: NFS: Use raw_write_seqcount_begin/end int nfs4_reclaim_open_state
From: Trond Myklebust <[email protected]>
commit abbec2da13f0e4c5d9b78b7e2c025a3e617228ba upstream.
The addition of lockdep code to write_seqcount_begin/end has lead to
a bunch of false positive claims of ABBA deadlocks with the so_lock
spinlock. Audits show that this simply cannot happen because the
read side code does not spin while holding so_lock.
Signed-off-by: Trond Myklebust <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
fs/nfs/nfs4state.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c
@@ -1456,7 +1456,7 @@ static int nfs4_reclaim_open_state(struc
* server that doesn't support a grace period.
*/
spin_lock(&sp->so_lock);
- write_seqcount_begin(&sp->so_reclaim_seqcount);
+ raw_write_seqcount_begin(&sp->so_reclaim_seqcount);
restart:
list_for_each_entry(state, &sp->so_states, open_states) {
if (!test_and_clear_bit(ops->state_flag_bit, &state->flags))
@@ -1519,13 +1519,13 @@ restart:
spin_lock(&sp->so_lock);
goto restart;
}
- write_seqcount_end(&sp->so_reclaim_seqcount);
+ raw_write_seqcount_end(&sp->so_reclaim_seqcount);
spin_unlock(&sp->so_lock);
return 0;
out_err:
nfs4_put_open_state(state);
spin_lock(&sp->so_lock);
- write_seqcount_end(&sp->so_reclaim_seqcount);
+ raw_write_seqcount_end(&sp->so_reclaim_seqcount);
spin_unlock(&sp->so_lock);
return status;
}
Patches currently in stable-queue which might be from
[email protected] are
queue-3.14/nfs-fix-cache_validity-check-in-nfs_write_pageuptodate.patch
queue-3.14/nfs-populate-net-in-mount-data-when-remounting.patch
queue-3.14/pnfs-handle-allocation-errors-correctly-in-filelayout_alloc_layout_hdr.patch
queue-3.14/nfs-use-raw_write_seqcount_begin-end-int-nfs4_reclaim_open_state.patch
queue-3.14/sunrpc-fix-a-module-reference-leak-in-svc_handle_xprt.patch
queue-3.14/nfs-don-t-declare-inode-uptodate-unless-all-attributes-were-checked.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html