NFSv4.1/pnfs: Fix atomicity of commit list updates
authorTrond Myklebust <trond.myklebust@primarydata.com>
Fri, 31 Jul 2015 20:24:30 +0000 (16:24 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Mon, 10 Aug 2015 23:08:13 +0000 (19:08 -0400)
commit86d80f973434de24d8a807a92cd59d5ced7bd519
treed1c6aa87eac0551a3d65a7bdd0a2b1bc49f4c29a
parent74d33293e467df61de1b1d8b2fbe29e550dec33b
NFSv4.1/pnfs: Fix atomicity of commit list updates

pnfs_layout_mark_request_commit() needs to ensure that it adds the
request to the commit list atomically with all the other updates
in order to prevent corruption to buckets[ds_commit_idx].wlseg
due to races with pnfs_generic_clear_request_commit().

Fixes: 338d00cfef07d ("pnfs: Refactor the *_layout_mark_request_commit...")
Cc: stable@vger.kernel.org # v4.0+
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/internal.h
fs/nfs/pnfs_nfs.c
fs/nfs/write.c