NFSv4.1: Fix a few issues in filelayout_commit_pagelist
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Fri, 16 Mar 2012 17:52:45 +0000 (13:52 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 17 Mar 2012 15:17:42 +0000 (11:17 -0400)
commit9390f42546339cf111edd23c16d6cf74ca41974c
treef281aa1e7bed7fbf41c441eab605d6d7a1a9050b
parent8dd3775889345850ecddd689b5c200cdd91bd8c9
NFSv4.1: Fix a few issues in filelayout_commit_pagelist

- Fix a race in which NFS_I(inode)->commits_outstanding could potentially
  go to zero (triggering a call to nfs_commit_clear_lock()) before we're
  done sending out all the commit RPC calls.

- If nfs_commitdata_alloc fails, there is no reason why we shouldn't
  try to send off all the commits-to-ds.

- Simplify the error handling.

- Change pnfs_commit_list() to always return either
  PNFS_ATTEMPTED or PNFS_NOT_ATTEMPTED.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Fred Isaman <iisaman@netapp.com>
fs/nfs/nfs4filelayout.c