1. 25 6月, 2006 9 次提交
    • 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
    • T
      Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ · 816724e6
      Trond Myklebust 提交于
      Conflicts:
      
      	fs/nfs/inode.c
      	fs/super.c
      
      Fix conflicts between patch 'NFS: Split fs/nfs/inode.c' and patch
      'VFS: Permit filesystem to override root dentry on mount'
      816724e6
  2. 24 6月, 2006 4 次提交
    • D
      [PATCH] fix typo in acpi video brightness changes. · d384ea69
      Dave Jones 提交于
      Prevent possible null dereference due to misplaced ;
      Signed-off-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d384ea69
    • L
      Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev · 6edad161
      Linus Torvalds 提交于
      * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (258 commits)
        [libata] conversion to new debug scheme, part 1 of $N
        [PATCH] libata: Add ata_scsi_dev_disabled
        [libata] Add host lock to struct ata_port
        [PATCH] libata: implement per-dev EH action mask eh_info->dev_action[]
        [PATCH] libata-dev: move the CDB-intr DMA blacklisting
        [PATCH] ahci: disable NCQ support on vt8251
        [libata] ahci: add JMicron PCI IDs
        [libata] sata_nv: add PCI IDs
        [libata] ahci: Add NVIDIA PCI IDs.
        [PATCH] libata: convert several bmdma-style controllers to new EH, take #3
        [PATCH] sata_via: convert to new EH, take #3
        [libata] sata_nv: s/spin_lock_irqsave/spin_lock/ in irq handler
        [PATCH] sata_nv: add hotplug support
        [PATCH] sata_nv: convert to new EH
        [PATCH] sata_nv: better irq handlers
        [PATCH] sata_nv: simplify constants
        [PATCH] sata_nv: kill struct nv_host_desc and nv_host
        [PATCH] sata_nv: kill not-working hotplug code
        [libata] Update docs to reflect current driver API
        [PATCH] libata: add host_set->next for legacy two host_sets case, take #3
        ...
      6edad161
    • T
      [IA64] fix ia64 build (fadt_descriptor) · 236ee8c3
      Tony Luck 提交于
      arch/ia64/kernel/acpi.c got forgotten when include/acpi/actbl.h
      got a cleanup.
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      236ee8c3
    • T
      Auto-update from upstream · 8cf60e04
      Tony Luck 提交于
      8cf60e04
  3. 23 6月, 2006 27 次提交