1. 23 9月, 2006 6 次提交
  2. 19 9月, 2006 3 次提交
  3. 09 9月, 2006 1 次提交
  4. 25 8月, 2006 6 次提交
  5. 04 8月, 2006 2 次提交
  6. 06 7月, 2006 5 次提交
  7. 03 7月, 2006 1 次提交
  8. 01 7月, 2006 3 次提交
  9. 29 6月, 2006 2 次提交
  10. 28 6月, 2006 1 次提交
  11. 26 6月, 2006 1 次提交
    • L
      Fix NFS2 compile error · f36f44de
      Linus Torvalds 提交于
      Trond had apparently merged the same patch twice, causing a duplicate
      include of the "internal.h" file, with resulting obvious confusion.
      
      Tssk.  I'm the only one allowed to send out trees that don't even
      compile! Who does this Trond guy think he is?
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f36f44de
  12. 25 6月, 2006 9 次提交
    • A
      nfs: remove nfs_put_link() · 9bf2aa12
      Alexey Dobriyan 提交于
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      9bf2aa12
    • A
      nfs-build-fix-99 · 6ab86aa1
      Andrew Morton 提交于
      fs/built-in.o:(__param+0x20): undefined reference to `nfs_idmap_cache_timeout'
      fs/built-in.o:(__param+0x48): undefined reference to `nfs_callback_set_tcpport'
      
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: Andreas Gruenbacher <agruen@suse.de>
      Cc: Andy Adamson <andros@citi.umich.edu>
      Cc: Chuck Lever <cel@netapp.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: J. Bruce Fields <bfields@fieldses.org>
      Cc: Manoj Naik <manoj@almaden.ibm.com>
      Cc: Marc Eshel <eshel@almaden.ibm.com>
      Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      6ab86aa1
    • A
      git-nfs-build-fixes · d75d5414
      Andrew Morton 提交于
      Fix various problems with nfs4 disabled.  And various other things.
      
      In file included from fs/nfs/inode.c:50:
      fs/nfs/internal.h:24: error: static declaration of 'nfs_do_refmount' follows non-static declaration
      include/linux/nfs_fs.h:320: error: previous declaration of 'nfs_do_refmount' was here
      fs/nfs/internal.h:65: warning: 'struct nfs4_fs_locations' declared inside parameter list
      fs/nfs/internal.h:65: warning: its scope is only this definition or declaration, which is probably not what you want
      fs/nfs/internal.h: In function 'nfs4_path':
      fs/nfs/internal.h:97: error: 'struct nfs_server' has no member named 'mnt_path'
      fs/nfs/inode.c: In function 'init_once':
      fs/nfs/inode.c:1116: error: 'struct nfs_inode' has no member named 'open_states'
      fs/nfs/inode.c:1116: error: 'struct nfs_inode' has no member named 'delegation'
      fs/nfs/inode.c:1116: error: 'struct nfs_inode' has no member named 'delegation_state'
      fs/nfs/inode.c:1116: error: 'struct nfs_inode' has no member named 'rwsem'
      distcc[26452] ERROR: compile fs/nfs/inode.c on g5/64 failed
      make[1]: *** [fs/nfs/inode.o] Error 1
      make: *** [fs/nfs/inode.o] Error 2
      make: *** Waiting for unfinished jobs....
      In file included from fs/nfs/nfs3xdr.c:26:
      fs/nfs/internal.h:24: error: static declaration of 'nfs_do_refmount' follows non-static declaration
      include/linux/nfs_fs.h:320: error: previous declaration of 'nfs_do_refmount' was here
      fs/nfs/internal.h:65: warning: 'struct nfs4_fs_locations' declared inside parameter list
      fs/nfs/internal.h:65: warning: its scope is only this definition or declaration, which is probably not what you want
      fs/nfs/internal.h: In function 'nfs4_path':
      fs/nfs/internal.h:97: error: 'struct nfs_server' has no member named 'mnt_path'
      distcc[26486] ERROR: compile fs/nfs/nfs3xdr.c on g5/64 failed
      make[1]: *** [fs/nfs/nfs3xdr.o] Error 1
      make: *** [fs/nfs/nfs3xdr.o] Error 2
      In file included from fs/nfs/nfs3proc.c:24:
      fs/nfs/internal.h:24: error: static declaration of 'nfs_do_refmount' follows non-static declaration
      include/linux/nfs_fs.h:320: error: previous declaration of 'nfs_do_refmount' was here
      fs/nfs/internal.h:65: warning: 'struct nfs4_fs_locations' declared inside parameter list
      fs/nfs/internal.h:65: warning: its scope is only this definition or declaration, which is probably not what you want
      fs/nfs/internal.h: In function 'nfs4_path':
      fs/nfs/internal.h:97: error: 'struct nfs_server' has no member named 'mnt_path'
      distcc[26469] ERROR: compile fs/nfs/nfs3proc.c on bix/32 failed
      make[1]: *** [fs/nfs/nfs3proc.o] Error 1
      make: *** [fs/nfs/nfs3proc.o] Error 2
      **FAILED**
      
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: Andreas Gruenbacher <agruen@suse.de>
      Cc: Andy Adamson <andros@citi.umich.edu>
      Cc: Chuck Lever <cel@netapp.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: J. Bruce Fields <bfields@fieldses.org>
      Cc: Manoj Naik <manoj@almaden.ibm.com>
      Cc: Marc Eshel <eshel@almaden.ibm.com>
      Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      d75d5414
    • T
      Merge branch 'odirect' · ccf01ef7
      Trond Myklebust 提交于
      ccf01ef7
    • C
      NFS: alloc nfs_read/write_data as direct I/O is scheduled · 82b145c5
      Chuck Lever 提交于
      Re-arrange the logic in the NFS direct I/O path so that nfs_read/write_data
      structs are allocated just before they are scheduled, rather than
      allocating them all at once before we start scheduling requests.
      Signed-off-by: NChuck Lever <cel@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      82b145c5
    • C
      NFS: Eliminate nfs_get_user_pages() · 06cf6f2e
      Chuck Lever 提交于
      Neil Brown observed that the kmalloc() in nfs_get_user_pages() is more
      likely to fail if the I/O is large enough to require the allocation of more
      than a single page to keep track of all the pinned pages in the user's
      buffer.
      
      Instead of tracking one large page array per dreq/iocb, track pages per
      nfs_read/write_data, just like the cached I/O path does.  An array for
      pages is already allocated for us by nfs_readdata_alloc() (and the write
      and commit equivalents).
      
      This is also required for adding support for vectored I/O to the NFS direct
      I/O path.
      
      The original reason to pin the user buffer and allocate all the NFS data
      structures before trying to schedule I/O was to ensure all needed resources
      are allocated on the client before starting to send requests.  This reduces
      the chance that resource exhaustion on the client will cause a short read
      or write.
      
      On the other hand, for an application making very large application I/O
      requests, this means that it will be nearly impossible for the application
      to make forward progress on a resource-limited client.
      
      Thus, moving the buffer pinning functionality into the I/O scheduling
      loops should be good for scalability.  The next patch will do the same for
      NFS data structure allocation.
      Signed-off-by: NChuck Lever <cel@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      06cf6f2e
    • C
      NFS: refactor nfs_direct_free_user_pages · 9c93ab7d
      Chuck Lever 提交于
      Clean-up and fix a minor bug: the logic was dirtying page cache pages on
      both read and write operations.
      Signed-off-by: NChuck Lever <cel@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      9c93ab7d
    • C
      NFS: remove user_addr, user_count, and pos from nfs_direct_req · 51a7bc6c
      Chuck Lever 提交于
      Make the user_addr, user_count, and pos parameters explicit to the
      scheduler routines, and remove the fields from nfs_direct_req.  The
      iovec API will be passing in a series of these, not just one set.
      Signed-off-by: NChuck Lever <cel@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      51a7bc6c
    • C
      NFS: "open code" the NFS direct write rescheduler · fedb595c
      Chuck Lever 提交于
      An NFSv3/v4 client must reschedule on-the-wire writes if the writes are
      UNSTABLE, and the server reboots before the client can complete a
      subsequent COMMIT request.
      
      To support direct asynchronous scatter-gather writes, the write
      rescheduler in fs/nfs/direct.c must not depend on the I/O parameters
      in the controlling nfs_direct_req structure.  iovecs can be somewhat
      arbitrarily complex, so there could be an unbounded amount of information
      to save for a rarely encountered requirement.
      
      Refactor the direct write rescheduler so it uses information from each
      nfs_write_data structure to reschedule writes, instead of caching that
      information in the controlling nfs_direct_req structure.
      Signed-off-by: NChuck Lever <cel@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      fedb595c