1. 26 8月, 2015 5 次提交
  2. 19 8月, 2015 1 次提交
    • T
      NFSv4.1/pnfs: Fix a close/delegreturn hang when return-on-close is set · 4ff376fe
      Trond Myklebust 提交于
      The helper pnfs_roc() has already verified that we have no delegations,
      and no further open files, hence no outstanding I/O and it has marked
      all the return-on-close lsegs as being invalid.
      Furthermore, it sets the NFS_LAYOUT_RETURN bit, thus serialising the
      close/delegreturn with all future layoutget calls on this inode.
      
      The checks in pnfs_roc_drain() for valid layout segments are therefore
      redundant: those cannot exist until another layoutget completes.
      The other check for whether or not NFS_LAYOUT_RETURN is set, actually
      causes a hang, since we already know that we hold that flag.
      
      To fix, we therefore strip out all the functionality in pnfs_roc_drain()
      except the retrieval of the barrier state, and then rename the function
      accordingly.
      Reported-by: NChristoph Hellwig <hch@infradead.org>
      Fixes: 5c4a79fb ("Don't prevent layoutgets when doing return-on-close")
      Signed-off-by: NTrond Myklebust <trond.myklebust@primarydata.com>
      4ff376fe
  3. 13 8月, 2015 1 次提交
  4. 27 6月, 2015 1 次提交
  5. 24 6月, 2015 1 次提交
  6. 16 4月, 2015 1 次提交
  7. 28 3月, 2015 4 次提交
  8. 18 2月, 2015 1 次提交
  9. 04 2月, 2015 20 次提交
  10. 25 1月, 2015 1 次提交
  11. 09 10月, 2014 2 次提交
  12. 13 9月, 2014 2 次提交