1. 12 Apr, 2015 3 commits
  2. 13 Mar, 2015 2 commits
    • Christoph Hellwig's avatar
      fs: split generic and aio kiocb · 04b2fa9f
      Christoph Hellwig authored
      
      
      Most callers in the kernel want to perform synchronous file I/O, but
      still have to bloat the stack with a full struct kiocb.  Split out
      the parts needed in filesystem code from those in the aio code, and
      only allocate those needed to pass down argument on the stack.  The
      aio code embedds the generic iocb in the one it allocates and can
      easily get back to it by using container_of.
      
      Also add a ->ki_complete method to struct kiocb, this is used to call
      into the aio code and thus removes the dependency on aio for filesystems
      impementing asynchronous operations.  It will also allow other callers
      to substitute their own completion callback.
      
      We also add a new ->ki_flags field to work around the nasty layering
      violation recently introduced in commit 5e33f6 ("usb: gadget: ffs: add
      eventfd notification about ffs events").
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      04b2fa9f
    • Christoph Hellwig's avatar
      fs: remove ki_nbytes · 66ee59af
      Christoph Hellwig authored
      
      
      There is no need to pass the total request length in the kiocb, as
      we already get passed in through the iov_iter argument.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      66ee59af
  3. 14 Feb, 2015 1 commit
  4. 03 Feb, 2015 8 commits
  5. 21 Jan, 2015 1 commit
  6. 12 Nov, 2014 1 commit
  7. 14 Oct, 2014 1 commit
  8. 12 Sep, 2014 1 commit
  9. 12 Jul, 2014 1 commit
  10. 24 Jun, 2014 3 commits
  11. 29 May, 2014 3 commits
    • Weston Andros Adamson's avatar
      pnfs: support multiple verfs per direct req · 5002c586
      Weston Andros Adamson authored
      
      
      Support direct requests that span multiple pnfs data servers by
      comparing nfs_pgio_header->verf to a cached verf in pnfs_commit_bucket.
      Continue to use dreq->verf if the MDS is used / non-pNFS.
      Signed-off-by: default avatarWeston Andros Adamson <dros@primarydata.com>
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      5002c586
    • Weston Andros Adamson's avatar
      nfs: add support for multiple nfs reqs per page · 2bfc6e56
      Weston Andros Adamson authored
      
      
      Add "page groups" - a circular list of nfs requests (struct nfs_page)
      that all reference the same page. This gives nfs read and write paths
      the ability to account for sub-page regions independently.  This
      somewhat follows the design of struct buffer_head's sub-page
      accounting.
      
      Only "head" requests are ever added/removed from the inode list in
      the buffered write path. "head" and "sub" requests are treated the
      same through the read path and the rest of the write/commit path.
      Requests are given an extra reference across the life of the list.
      
      Page groups are never rejoined after being split. If the read/write
      request fails and the client falls back to another path (ie revert
      to MDS in PNFS case), the already split requests are pushed through
      the recoalescing code again, which may split them further and then
      coalesce them into properly sized requests on the wire. Fragmentation
      shouldn't be a problem with the current design, because we flush all
      requests in page group when a non-contiguous request is added, so
      the only time resplitting should occur is on a resend of a read or
      write.
      
      This patch lays the groundwork for sub-page splitting, but does not
      actually do any splitting. For now all page groups have one request
      as pg_test functions don't yet split pages. There are several related
      patches that are needed support multiple requests per page group.
      Signed-off-by: default avatarWeston Andros Adamson <dros@primarydata.com>
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      2bfc6e56
    • Weston Andros Adamson's avatar
      nfs: remove unused arg from nfs_create_request · 8c8f1ac1
      Weston Andros Adamson authored
      
      
      @inode is passed but not used.
      Signed-off-by: default avatarWeston Andros Adamson <dros@primarydata.com>
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      8c8f1ac1
  12. 28 May, 2014 3 commits
  13. 06 May, 2014 4 commits
  14. 13 Jan, 2014 7 commits
  15. 05 Jan, 2014 1 commit