1. 01 8月, 2012 1 次提交
    • M
      nfs: enable swap on NFS · a564b8f0
      Mel Gorman 提交于
      Implement the new swapfile a_ops for NFS and hook up ->direct_IO.  This
      will set the NFS socket to SOCK_MEMALLOC and run socket reconnect under
      PF_MEMALLOC as well as reset SOCK_MEMALLOC before engaging the protocol
      ->connect() method.
      
      PF_MEMALLOC should allow the allocation of struct socket and related
      objects and the early (re)setting of SOCK_MEMALLOC should allow us to
      receive the packets required for the TCP connection buildup.
      
      [jlayton@redhat.com: Restore PF_MEMALLOC task flags in all cases]
      [dfeng@redhat.com: Fix handling of multiple swap files]
      [a.p.zijlstra@chello.nl: Original patch]
      Signed-off-by: NMel Gorman <mgorman@suse.de>
      Acked-by: NRik van Riel <riel@redhat.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Eric B Munson <emunson@mgebm.net>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: James Morris <jmorris@namei.org>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Mike Christie <michaelc@cs.wisc.edu>
      Cc: Neil Brown <neilb@suse.de>
      Cc: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
      Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
      Cc: Xiaotian Feng <dfeng@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a564b8f0
  2. 31 7月, 2012 4 次提交
  3. 08 7月, 2012 1 次提交
  4. 20 6月, 2012 1 次提交
  5. 10 6月, 2012 1 次提交
    • F
      NFS: fix directio refcount bug on commit · 906369e4
      Fred Isaman 提交于
      This reverts a hunk from commit 04277086
      "NFS: Clean up - Simplify reference counting in fs/nfs/direct.c"
      
      The cleanups in that patch affect the write path, but by the time
      processing hits commit the removed reference has been added back by
      nfs_scan_commit_list().  Without this reversion, any page that is
      sent to commit holds on to an unbalanced reference that is never
      freed.  The immediate effect is an imbalance over the wire between
      OPENs and CLOSEs.
      Signed-off-by: NFred Isaman <iisaman@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      906369e4
  6. 06 6月, 2012 1 次提交
    • T
      NFS: Fix a commit bug · 9bce008b
      Trond Myklebust 提交于
      The new commit code fails to copy the verifier into the wb_verf field
      of _all_ the nfs_page structures; it only copies it into the first entry.
      The consequence is that most requests end up failing to match in
      nfs_commit_release.
      
      Fix is to copy the verifier into the req->wb_verf field in
      nfs_write_completion.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      Cc: Fred Isaman <iisaman@netapp.com>
      9bce008b
  7. 01 6月, 2012 1 次提交
  8. 25 5月, 2012 1 次提交
  9. 10 5月, 2012 3 次提交
  10. 05 5月, 2012 2 次提交
    • T
      NFS: Fix sparse warnings · 1385b811
      Trond Myklebust 提交于
      Fix the following sparse warnings:
      
      fs/nfs/direct.c:221:6: warning: symbol 'nfs_direct_readpage_release' was
      not declared. Should it be static?
      fs/nfs/read.c:38:43: warning: non-ANSI function declaration of function
      'nfs_readhdr_alloc'
      fs/nfs/objlayout/objio_osd.c:214:5: warning: symbol '__alloc_objio_seg'
      was not declared. Should it be static?
      Reported-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      Cc: Fred Isaman <iisaman@netapp.com>
      Cc: Boaz Harrosh <bharrosh@panasas.com>
      1385b811
    • T
      NFS: Fix O_DIRECT compile warnings · bf5fc402
      Trond Myklebust 提交于
      Fix the following compile warnings:
      fs/nfs/direct.c: In function 'nfs_direct_read_schedule_segment':
      fs/nfs/direct.c:325:11: warning: comparison of distinct pointer types
      lacks a cast [enabled by default]
      fs/nfs/direct.c:325:11: warning: comparison of distinct pointer types
      lacks a cast [enabled by default]
      fs/nfs/direct.c:325:11: warning: comparison of distinct pointer types
      lacks a cast [enabled by default]
      fs/nfs/direct.c:352:27: warning: comparison of distinct pointer types
      lacks a cast [enabled by default]
      fs/nfs/direct.c: In function 'nfs_direct_write_schedule_segment':
      fs/nfs/direct.c:622:11: warning: comparison of distinct pointer types
      lacks a cast [enabled by default]
      fs/nfs/direct.c:622:11: warning: comparison of distinct pointer types
      lacks a cast [enabled by default]
      fs/nfs/direct.c:622:11: warning: comparison of distinct pointer types
      lacks a cast [enabled by default]
      fs/nfs/direct.c:650:27: warning: comparison of distinct pointer types
      lacks a cast [enabled by default]
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      Cc: Fred Isaman <iisaman@netapp.com>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      bf5fc402
  11. 02 5月, 2012 1 次提交
  12. 01 5月, 2012 5 次提交
  13. 28 4月, 2012 9 次提交
  14. 29 3月, 2012 1 次提交
  15. 21 3月, 2012 2 次提交
  16. 27 7月, 2011 1 次提交
  17. 20 7月, 2011 1 次提交
  18. 12 3月, 2011 2 次提交
  19. 26 1月, 2011 1 次提交
    • C
      NFS: Fix "kernel BUG at fs/aio.c:554!" · 839f7ad6
      Chuck Lever 提交于
      Nick Piggin reports:
      
      > I'm getting use after frees in aio code in NFS
      >
      > [ 2703.396766] Call Trace:
      > [ 2703.396858]  [<ffffffff8100b057>] ? native_sched_clock+0x27/0x80
      > [ 2703.396959]  [<ffffffff8108509e>] ? put_lock_stats+0xe/0x40
      > [ 2703.397058]  [<ffffffff81088348>] ? lock_release_holdtime+0xa8/0x140
      > [ 2703.397159]  [<ffffffff8108a2a5>] lock_acquire+0x95/0x1b0
      > [ 2703.397260]  [<ffffffff811627db>] ? aio_put_req+0x2b/0x60
      > [ 2703.397361]  [<ffffffff81039701>] ? get_parent_ip+0x11/0x50
      > [ 2703.397464]  [<ffffffff81612a31>] _raw_spin_lock_irq+0x41/0x80
      > [ 2703.397564]  [<ffffffff811627db>] ? aio_put_req+0x2b/0x60
      > [ 2703.397662]  [<ffffffff811627db>] aio_put_req+0x2b/0x60
      > [ 2703.397761]  [<ffffffff811647fe>] do_io_submit+0x2be/0x7c0
      > [ 2703.397895]  [<ffffffff81164d0b>] sys_io_submit+0xb/0x10
      > [ 2703.397995]  [<ffffffff8100307b>] system_call_fastpath+0x16/0x1b
      >
      > Adding some tracing, it is due to nfs completing the request then
      > returning something other than -EIOCBQUEUED, so aio.c
      > also completes the request.
      
      To address this, prevent the NFS direct I/O engine from completing
      async iocbs when the forward path returns an error without starting
      any I/O.
      
      This fix appears to survive ^C during both "xfstest no. 208" and "fsx
      -Z."
      
      It's likely this bug has existed for a very long while, as we are seeing
      very similar symptoms in OEL 5.  Copying stable.
      
      Cc: Stable <stable@kernel.org>
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      839f7ad6
  20. 23 11月, 2010 1 次提交