27 Mar, 2006

40 commits

  • This fix was proposed by Trond Myklebust. He says: The type "sector_t" is
    heavily tied in to the block layer interface as an offset/handle to a block,
    and is subject to a supposedly block-specific configuration option:
    CONFIG_LBD. Despite this, it is used in struct kstatfs to save a couple of
    bytes on the stack whenever we call the filesystems' ->statfs().

    So kstatfs's entries related to blocks are invalid on statfs64 for a network
    filesystem which has more than 2^32-1 blocks when CONFIG_LBD is disabled.

    - struct kstatfs
    Change the type of following entries from sector_t to u64.
    f_blocks
    f_bfree
    f_bavail
    f_files
    f_ffree

    Signed-off-by: Trond Myklebust
    Signed-off-by: Takashi Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Takashi Sato
     
  • Cc: Takashi Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Add blkcnt_t as the type of inode.i_blocks. This enables you to make the size
    of blkcnt_t either 4 bytes or 8 bytes on 32 bits architecture with CONFIG_LSF.

    - CONFIG_LSF
    Add new configuration parameter.
    - blkcnt_t
    On h8300, i386, mips, powerpc, s390 and sh that define sector_t,
    blkcnt_t is defined as u64 if CONFIG_LSF is enabled; otherwise it is
    defined as unsigned long.
    On other architectures, it is defined as unsigned long.
    - inode.i_blocks
    Change the type from sector_t to blkcnt_t.

    Signed-off-by: Takashi Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Takashi Sato
     
  • This patch series fixes the following problems on 32 bits architecture.

    o stat64 returns the lower 32 bits of blocks, although userland st_blocks
    has 64 bits, because i_blocks has only 32 bits. The ioctl with FIOQSIZE has
    the same problem.

    o As Dave Kleikamp said, making >2TB file on JFS results in writing an
    invalid block number to disk inode. The cause is the same as above too.

    o In generic quota code dquot_transfer(), the file usage is calculated from
    i_blocks via inode_get_bytes(). If the file is over 2TB, the change of
    usage is less than expected. The cause is the same as above too.

    o As Trond Myklebust said, statfs64's entries related to blocks are invalid
    on statfs64 for a network filesystem which has more than 2^32-1 blocks with
    CONFIG_LBD disabled. [PATCH 3/3]

    We made patches to fix problems that occur when handling a large filesystem
    and a large file. It was discussed on the mails titled "stat64 for over 2TB
    file returned invalid st_blocks".

    Signed-off-by: Takashi Sato
    Cc: Dave Kleikamp
    Cc: Jan Kara
    Cc: Trond Myklebust
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Takashi Sato
     
  • Modify well over a dozen mempool users to call mempool_create_slab_pool()
    rather than calling mempool_create() with extra arguments, saving about 30
    lines of code and increasing readability.

    Signed-off-by: Matthew Dobson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Dobson
     
  • Create a simple wrapper function for the common case of creating a slab-based
    mempool.

    Signed-off-by: Matthew Dobson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Dobson
     
  • This patch changes a mempool user, which is basically just a wrapper around
    kzalloc(), to use the common mempool_kmalloc/kfree, rather than its own
    wrapper function, removing duplicated code.

    Signed-off-by: Matthew Dobson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Dobson
     
  • Add another allocator to the common mempool code: a kzalloc/kfree allocator

    This will be used by the next patch in the series to replace a mempool-backed
    kzalloc allocator. It is also very likely that there will be more users in
    the future.

    Signed-off-by: Matthew Dobson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Dobson
     
  • This patch changes several mempool users, all of which are basically just
    wrappers around kmalloc(), to use the common mempool_kmalloc/kfree, rather
    than their own wrapper function, removing a bunch of duplicated code.

    Signed-off-by: Matthew Dobson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Dobson
     
  • Add another allocator to the common mempool code: a kmalloc/kfree allocator

    This will be used by the next patch in the series to replace duplicate
    mempool-backed kmalloc allocators in several places in the kernel. It is also
    very likely that there will be more users in the future.

    Signed-off-by: Matthew Dobson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Dobson
     
  • Convert two mempool users that currently use their own mempool-backed page
    allocators to use the generic mempool page allocator.

    Also included are 2 trivial whitespace fixes.

    Signed-off-by: Matthew Dobson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Dobson
     
  • This will be used by the next patch in the series to replace duplicate
    mempool-backed page allocators in 2 places in the kernel. It is also likely
    that there will be more users in the future.

    Signed-off-by: Matthew Dobson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Dobson
     
  • Update driver documentation.

    Signed-off-by: Steffen Klassert
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Steffen Klassert
     
  • Remove some whitespaces and codingstyle issues.

    Signed-off-by: Steffen Klassert
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Steffen Klassert
     
  • Remove per-driver versioning.

    Signed-off-by: Steffen Klassert
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Steffen Klassert
     
  • Use ethtool_op_get_link instead of vortex_get_link.

    Signed-off-by: Steffen Klassert
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Steffen Klassert
     
  • Handle netif_carrier_{on,of} also if media is forced to 10baseT/100baseTx.

    Signed-off-by: Steffen Klassert
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Steffen Klassert
     
  • Set the polling interval for media changes to 5 seconds if link is down and
    60 seconds if link is up.

    Signed-off-by: Steffen Klassert
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Steffen Klassert
     
  • Check for media changes and netif_carrier by using mii_check_media() if mii is
    used.

    Signed-off-by: Steffen Klassert
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Steffen Klassert
     
  • I noticed that after boot with an initrd in 2.6.16 the rootfs had:

    --w-r-xr-T 1 root root 6241141 Jan 1 1970 initrd.image

    Which is caused by a small typo:

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jason Gunthorpe
     
  • Fix compilation for sound/oss/vwsnd.o, by moving li_destroy() above
    li_create()

    sound/oss/vwsnd.c:275: warning: conflicting types for ‘li_destroy’
    sound/oss/vwsnd.c:275: error: static declaration of ‘li_destroy’ follows non-static declaration
    sound/oss/vwsnd.c:264: error: previous implicit declaration of ‘li_destroy’ was here

    Signed-off-by: Eric Sesterhenn
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Sesterhenn
     
  • Cc: Al Viro
    Cc: Christoph Hellwig
    Cc: Zdenek Pavlas
    Signed-off-by: H. Peter Anvin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    H. Peter Anvin
     
  • The isicom driver uses request_firmware() and thus needs to select
    FW_LOADER.

    Signed-off-by: maximilian attems
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    maximilian attems
     
  • Coverity found an over-run @ line 364 of efi.c

    This is due to the loop checking the size correctly, then adding a '\0'
    after possibly hitting the end of the array.

    Ensure the loop exits with one space left in the array.

    Signed-off-by: Darren Jenkins
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Darren Jenkins
     
  • drivers/input/touchscreen/ads7846.c: In function `ads7846_read12_ser':
    drivers/input/touchscreen/ads7846.c:207: warning: implicit declaration of function `disable_irq'
    drivers/input/touchscreen/ads7846.c:209: warning: implicit declaration of function `enable_irq'

    Cc: Dmitry Torokhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Since the addition of boot_cpu_init(), fixup_cpu_present_map() has been a
    no-op. That's because fixup_cpu_present_map() won't touch cpu_present_map if
    it has any bits set, and boot_cpu_init() sets a bit.

    So remove fixup_cpu_present_map().

    A consequence of this (actually of the boot_cpu_init() change) is that the
    architecture _must_ populate cpu_present_map itself (probably in
    smp_prepare_cpus()). fixup_cpu_present_map() won't do it any more.

    If the architecture doesn't do this, it'll only bring up a single CPU.

    The other side effect (though less serious) is that smp_prepare_boot_cpu() no
    longer needs to mark the boot cpu in the online and present maps -
    boot_cpu_init() does that for everyone (to make early printks work).

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • tlclk calls register_chrdev() and permits register_chrdev() to allocate the
    major, but it promptly forgets what that major was. So if there's no hardware
    present you still get "telco_clock" appearing in /proc/devices and, I assume,
    an oops reading /proc/devices if tlclk was a module.

    Fix.

    Mark, I'd suggest that that we not call register_chrdev() until _after_ we've
    established that the hardware is present.

    Cc: Mark Gross
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Check that kernel_thread() succeeded, so we don't wait for something which
    cannot happen.

    Signed-off-by: Herbert Poetzl
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Herbert Poetzl
     
  • Change proc_dir_entry->size to be loff_t to represent files like
    /proc/vmcore for 32bit systems with more than 4G memory.

    Needed for seeing correct size for /proc/vmcore for 32-bit systems with >
    4G RAM.

    Signed-off-by: Maneesh Soni
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maneesh Soni
     
  • Create compat_sys_adjtimex and use it an all appropriate places.

    Signed-off-by: Stephen Rothwell
    Cc: Arnd Bergmann
    Acked-by: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • We had a copy of the compatibility version of struct timex in each 64 bit
    architecture. This patch just creates a global one and replaces all the
    usages of the old ones.

    Signed-off-by: Stephen Rothwell
    Cc: Arnd Bergmann
    Acked-by: Kyle McMartin
    Acked-by: Tony Luck
    Acked-by: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • Update the NFSv4 server to use the new posix_lock_file_conf() interface.
    Remove unnecessary (and race-prone) posix_test_file() calls.

    Signed-off-by: Andy Adamson
    Signed-off-by: J. Bruce Fields
    Signed-off-by: Trond Myklebust
    Cc: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Adamson
     
  • Lockd and the NFSv4 server both exercise a race condition where
    posix_test_lock() is called either before or after posix_lock_file() to
    deal with a denied lock request due to a conflicting lock.

    Remove the race condition for the NFSv4 server by adding a new conflicting
    lock parameter to __posix_lock_file() , changing the name to
    __posix_lock_file_conf().

    Keep posix_lock_file() interface, add posix_lock_conf() interface, both
    call __posix_lock_file_conf().

    [akpm@osdl.org: Put the EXPORT_SYMBOL() where it belongs]
    Signed-off-by: Andy Adamson
    Signed-off-by: J. Bruce Fields
    Signed-off-by: Trond Myklebust
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Adamson
     
  • BUG instead of handling a case that should never happen.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Trond Myklebust
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • I discovered on oprofile hunting on a SMP platform that dentry lookups were
    slowed down because d_hash_mask, d_hash_shift and dentry_hashtable were in
    a cache line that contained inodes_stat. So each time inodes_stats is
    changed by a cpu, other cpus have to refill their cache line.

    This patch moves some variables to the __read_mostly section, in order to
    avoid false sharing. RCU dentry lookups can go full speed.

    Signed-off-by: Eric Dumazet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Dumazet
     
  • Add __KERNEL__ block.
    Use __KERNEL__ to allow ioctl interface to be usable.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Need to increment the version number because of the new PCI and sysfs
    capabilities of the driver. People maintaining things for distros have
    asked that I do this after interface or major functional changes.

    Signed-off-by: Corey Minyard
    Acked-by: Matt Domsch
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • Add full driver model support for the IPMI driver. It links in the proper
    bus and device support.

    It adds an "ipmi" driver interface that has each BMC discovered by the
    driver (as a device). These BMCs appear in the devices/platform directory.
    If there are multiple interfaces to the same BMC, the driver should
    discover this and will only have one BMC entry. The BMC entry will have
    pointers to each interface device that connects to it.

    The device information (statistics and config information) has not yet been
    ported over to the driver model from proc, that will come later.

    This work was based on work by Yani Ioannou. I basically rewrote it using
    that code as a guide, but he still deserves credit :).

    [bunk@stusta.de: make ipmi_find_bmc_guid() static]
    Signed-off-by: Corey Minyard
    Signed-off-by: Yani Ioannou
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • Modify the PCI hanling code for the IPMI driver to use the new method of
    tables and registering, and adds more generic PCI handling for IPMI.
    Unfortunately, this required a rather large rework of the way the driver
    did detection so it would be more event-driven.

    [bunk@stusta.de: make a struct static]
    Signed-off-by: Corey Minyard
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • net/core/flow.c: In function 'flow_cache_flush':
    net/core/flow.c:299: warning: statement with no effect

    Signed-off-by: Con Kolivas
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Con Kolivas