1. 23 9月, 2006 4 次提交
  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 10 次提交
    • 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
    • C
      NFS: Separate functions for counting outstanding NFS direct I/Os · b1c5921c
      Chuck Lever 提交于
      Factor out the logic that increments and decrements the outstanding I/O
      count.  This will be a commonly used bit of code in upcoming patches.
      Also make this an atomic_t again, since it will be very often manipulated
      outside dreq->spin lock.
      Signed-off-by: NChuck Lever <cel@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      b1c5921c
  13. 23 6月, 2006 1 次提交
    • M
      [PATCH] vfs: add lock owner argument to flush operation · 75e1fcc0
      Miklos Szeredi 提交于
      Pass the POSIX lock owner ID to the flush operation.
      
      This is useful for filesystems which don't want to store any locking state
      in inode->i_flock but want to handle locking/unlocking POSIX locks
      internally.  FUSE is one such filesystem but I think it possible that some
      network filesystems would need this also.
      
      Also add a flag to indicate that a POSIX locking request was generated by
      close(), so filesystems using the above feature won't send an extra locking
      request in this case.
      Signed-off-by: NMiklos Szeredi <miklos@szeredi.hu>
      Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      75e1fcc0