]> www.infradead.org Git - users/jedix/linux-maple.git/commit
NFSv4.1: Remove a bogus BUG_ON() in nfs4_layoutreturn_done
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 8 Aug 2012 20:03:13 +0000 (16:03 -0400)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Mon, 8 Oct 2012 10:38:22 +0000 (03:38 -0700)
commit2bcf1a213239dd9f81499f583447957e9608c000
tree207e8ab69347b219cdec1ef06db6074bc814ddde
parent39b640181820a3fff57e16eebbcf8b1592847301
NFSv4.1: Remove a bogus BUG_ON() in nfs4_layoutreturn_done

commit 47fbf7976e0b7d9dcdd799e2a1baba19064d9631 upstream.

Ever since commit 0a57cdac3f (NFSv4.1 send layoutreturn to fence
disconnected data server) we've been sending layoutreturn calls
while there is potentially still outstanding I/O to the data
servers. The reason we do this is to avoid races between replayed
writes to the MDS and the original writes to the DS.

When this happens, the BUG_ON() in nfs4_layoutreturn_done can
be triggered because it assumes that we would never call
layoutreturn without knowing that all I/O to the DS is
finished. The fix is to remove the BUG_ON() now that the
assumptions behind the test are obsolete.

Reported-by: Boaz Harrosh <bharrosh@panasas.com>
Reported-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/nfs/nfs4proc.c