NFSv4.1: Fix a protocol issue with CLOSE stateids
authorTrond Myklebust <trond.myklebust@primarydata.com>
Mon, 31 Aug 2015 01:37:59 +0000 (18:37 -0700)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Mon, 31 Aug 2015 01:45:04 +0000 (18:45 -0700)
According to RFC5661 Section 18.2.4, CLOSE is supposed to return
the zero stateid. This means that nfs_clear_open_stateid_locked()
cannot assume that the result stateid will always match the 'other'
field of the existing open stateid when trying to determine a race
with a parallel OPEN.

Instead, we look at the argument, and check for matches.

Cc: stable@vger.kernel.org # v4.0+
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/nfs4proc.c

Simple merge