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 <stable@xxxxxxxxxxxxxxx> know about it. >From abbec2da13f0e4c5d9b78b7e2c025a3e617228ba Mon Sep 17 00:00:00 2001 From: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> 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 <trond.myklebust@xxxxxxxxxxxxxxx> 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 <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- 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 trond.myklebust@xxxxxxxxxxxxxxx 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html