nfs4: serialize layoutcommit
authorPeng Tao <bergwolf@gmail.com>
Mon, 24 Oct 2011 03:21:17 +0000 (20:21 -0700)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Mon, 31 Oct 2011 15:51:28 +0000 (11:51 -0400)
commit92407e75ce45b41c46944891711fd8faf0714d84
tree6616482a99f4b328f2a2acc853af20f273faf08f
parente20de377578e9504f8467c05ab1db98b4935d4ed
nfs4: serialize layoutcommit

Current pnfs_layoutcommit_inode can not handle parallel layoutcommit.
And as Trond suggested , there is no need for client to optimize for
parallel layoutcommit. So add NFS_INO_LAYOUTCOMMITTING flag to
mark inflight layoutcommit and serialize lalyoutcommit with it.
Also mark_inode_dirty_sync if pnfs_layoutcommit_inode fails to issue
layoutcommit.

Reported-by: Vitaliy Gusev <gusev.vitaliy@nexenta.com>
Signed-off-by: Peng Tao <peng_tao@emc.com>
Signed-off-by: Jim Rees <rees@umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/nfs4proc.c
fs/nfs/pnfs.c
include/linux/nfs_fs.h