1. 14 Jul, 2007 21 commits
    • David Chinner's avatar
      [XFS] Fix remount,readonly path to flush everything correctly. · 516b2e7c
      David Chinner authored
      The remount readonly path can fail to writeback properly because we still
      have active transactions after calling xfs_quiesce_fs(). Further
      investigation shows that this path is broken in the same ways that the xfs
      freeze path was broken so fix it the same way.
      
      SGI-PV: 964464
      SGI-Modid: xfs-linux-melb:xfs-kern:28869a
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      516b2e7c
    • David Chinner's avatar
      [XFS] Cleanup inode extent size hint extraction · 957d0ebe
      David Chinner authored
      SGI-PV: 966004
      SGI-Modid: xfs-linux-melb:xfs-kern:28866a
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      957d0ebe
    • David Chinner's avatar
      [XFS] Prevent ENOSPC from aborting transactions that need to succeed · 84e1e99f
      David Chinner authored
      During delayed allocation extent conversion or unwritten extent
      conversion, we need to reserve some blocks for transactions reservations.
      We need to reserve these blocks in case a btree split occurs and we need
      to allocate some blocks.
      
      Unfortunately, we've only ever reserved the number of data blocks we are
      allocating, so in both the unwritten and delalloc case we can get ENOSPC
      to the transaction reservation. This is bad because in both cases we
      cannot report the failure to the writing application.
      
      The fix is two-fold:
      
      1 - leverage the reserved block infrastructure XFS already
      has to reserve a small pool of blocks by default to allow
      specially marked transactions to dip into when we are at
      ENOSPC.
      Default setting is min(5%, 1024 blocks).
      
      2 - convert critical transaction reservations to be allowed
      to dip into this pool. Spots changed are delalloc
      conversion, unwritten extent conversion and growing a
      filesystem at ENOSPC.
      This also allows growing the filesytsem to succeed at ENOSPC.
      
      SGI-PV: 964468
      SGI-Modid: xfs-linux-melb:xfs-kern:28865a
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      84e1e99f
    • David Chinner's avatar
      [XFS] Prevent deadlock when flushing inodes on unmount · 641c56fb
      David Chinner authored
      When we are unmounting the filesystem, we flush all the inodes to disk.
      Unfortunately, if we have an inode cluster that has just been freed and
      marked stale sitting in an incore log buffer (i.e. hasn't been flushed to
      disk), it will be holding all the flush locks on the inodes in that
      cluster.
      
      xfs_iflush_all() which is called during unmount walks all the inodes
      trying to reclaim them, and it doing so calls xfs_finish_reclaim() on each
      inode. If the inode is dirty, if grabs the flush lock and flushes it.
      Unfortunately, find dirty inodes that already have their flush lock held
      and so we sleep.
      
      At this point in the unmount process, we are running single-threaded.
      There is nothing more that can push on the log to force the transaction
      holding the inode flush locks to disk and hence we deadlock.
      
      The fix is to issue a log force before flushing the inodes on unmount so
      that all the flush locks will be released before we start flushing the
      inodes.
      
      SGI-PV: 964538
      SGI-Modid: xfs-linux-melb:xfs-kern:28862a
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      641c56fb
    • Tim Shimmin's avatar
      [XFS] Log the agf_length change in xfs_growfs_data_private(). · 0164af51
      Tim Shimmin authored
      SGI-PV: 963528
      SGI-Modid: xfs-linux-melb:xfs-kern:28856a
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@infradead.org>
      0164af51
    • David Chinner's avatar
      [XFS] Map unwritten extents correctly for I/o completion processing · effd120e
      David Chinner authored
      If we have multiple unwritten extents within a single page, we fail to
      tell the I/o completion construction handlers we need a new handle for the
      second and subsequent blocks in the page. While we still issue the I/O
      correctly, we do not have the correct ranges recorded in the ioend
      structures and hence when we go to convert the unwritten extents we screw
      it up.
      
      Make sure we start a new ioend every time the mapping changes so that we
      convert the correct ranges on I/O completion.
      
      SGI-PV: 964647
      SGI-Modid: xfs-linux-melb:xfs-kern:28797a
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      effd120e
    • David Chinner's avatar
      [XFS] Apply transaction delta counts atomically to incore counters · 45c34141
      David Chinner authored
      With the per-cpu superblock counters, batch updates are no longer atomic
      across the entire batch of changes. This is not an issue if each
      individual change in the batch is applied atomically. Unfortunately, free
      block count changes are not applied atomically, and they are applied in a
      manner guaranteed to cause problems.
      
      Essentially, the free block count reservation that the transaction took
      initially is returned to the in core counters before a second delta takes
      away what is used. because these two operations are not atomic, we can
      race with another thread that can use the returned transaction reservation
      before the transaction takes the space away again and we can then get
      ENOSPC being reported in a spot where we don't have an ENOSPC condition,
      nor should we ever see one there.
      
      Fix it up by rolling the two deltas into the one so it can be applied
      safely (i.e. atomically) to the incore counters.
      
      SGI-PV: 964465
      SGI-Modid: xfs-linux-melb:xfs-kern:28796a
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      45c34141
    • David Chinner's avatar
      [XFS] Handle null returned from xfs_vtoi() in xfs_setfilesize(). · b2826136
      David Chinner authored
      SGI-PV: 965636
      SGI-Modid: xfs-linux-melb:xfs-kern:28777a
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarOlaf Weber <olaf@sgi.com>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      b2826136
    • David Chinner's avatar
      [XFS] Block on unwritten extent conversion during synchronous direct I/O. · e927af90
      David Chinner authored
      Currently we do not wait on extent conversion to occur, and hence we can
      return to userspace from a synchronous direct I/O write without having
      completed all the actions in the write. Hence a read after the write may
      see zeroes (unwritten extent) rather than the data that was written.
      
      Block the I/O completion by triggering a synchronous workqueue flush to
      ensure that the conversion has occurred before we return to userspace.
      
      SGI-PV: 964092
      SGI-Modid: xfs-linux-melb:xfs-kern:28775a
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      e927af90
    • David Chinner's avatar
      [XFS] Flush the block device before closing it on unmount. · f4a9f28a
      David Chinner authored
      SGI-PV: 965630
      SGI-Modid: xfs-linux-melb:xfs-kern:28774a
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      f4a9f28a
    • David Chinner's avatar
      [XFS] xfs_bmapi fails to update the previous extent pointer · 4e5ae838
      David Chinner authored
      When processing multiple extent maps, xfs_bmapi needs to keep track of the
      extent behind the one it is currently working on to be able to trim extent
      ranges correctly. Failing to update the previous pointer can result in
      corrupted extent lists in memory and this will result in panics or assert
      failures.
      
      Update the previous pointer correctly when we move to the next extent to
      process.
      
      SGI-PV: 965631
      SGI-Modid: xfs-linux-melb:xfs-kern:28773a
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarVlad Apostolov <vapo@sgi.com>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      4e5ae838
    • David Chinner's avatar
      [XFS] Fix the transaction flags to make lazy superblock counters work. · 210c6f1c
      David Chinner authored
      SGI-PV: 964999
      SGI-Modid: xfs-linux-melb:xfs-kern:28653a
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      210c6f1c
    • David Chinner's avatar
      [XFS] Lazy Superblock Counters · 92821e2b
      David Chinner authored
      When we have a couple of hundred transactions on the fly at once, they all
      typically modify the on disk superblock in some way.
      create/unclink/mkdir/rmdir modify inode counts, allocation/freeing modify
      free block counts.
      
      When these counts are modified in a transaction, they must eventually lock
      the superblock buffer and apply the mods. The buffer then remains locked
      until the transaction is committed into the incore log buffer. The result
      of this is that with enough transactions on the fly the incore superblock
      buffer becomes a bottleneck.
      
      The result of contention on the incore superblock buffer is that
      transaction rates fall - the more pressure that is put on the superblock
      buffer, the slower things go.
      
      The key to removing the contention is to not require the superblock fields
      in question to be locked. We do that by not marking the superblock dirty
      in the transaction. IOWs, we modify the incore superblock but do not
      modify the cached superblock buffer. In short, we do not log superblock
      modifications to critical fields in the superblock on every transaction.
      In fact we only do it just before we write the superblock to disk every
      sync period or just before unmount.
      
      This creates an interesting problem - if we don't log or write out the
      fields in every transaction, then how do the values get recovered after a
      crash? the answer is simple - we keep enough duplicate, logged information
      in other structures that we can reconstruct the correct count after log
      recovery has been performed.
      
      It is the AGF and AGI structures that contain the duplicate information;
      after recovery, we walk every AGI and AGF and sum their individual
      counters to get the correct value, and we do a transaction into the log to
      correct them. An optimisation of this is that if we have a clean unmount
      record, we know the value in the superblock is correct, so we can avoid
      the summation walk under normal conditions and so mount/recovery times do
      not change under normal operation.
      
      One wrinkle that was discovered during development was that the blocks
      used in the freespace btrees are never accounted for in the AGF counters.
      This was once a valid optimisation to make; when the filesystem is full,
      the free space btrees are empty and consume no space. Hence when it
      matters, the "accounting" is correct. But that means the when we do the
      AGF summations, we would not have a correct count and xfs_check would
      complain. Hence a new counter was added to track the number of blocks used
      by the free space btrees. This is an *on-disk format change*.
      
      As a result of this, lazy superblock counters are a mkfs option and at the
      moment on linux there is no way to convert an old filesystem. This is
      possible - xfs_db can be used to twiddle the right bits and then
      xfs_repair will do the format conversion for you. Similarly, you can
      convert backwards as well. At some point we'll add functionality to
      xfs_admin to do the bit twiddling easily....
      
      SGI-PV: 964999
      SGI-Modid: xfs-linux-melb:xfs-kern:28652a
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      92821e2b
    • Andrew Morton's avatar
      [XFS] Use generic shrinker interfaces in XFS. · 3260f78a
      Andrew Morton authored
      SGI-PV: 964986
      SGI-Modid: xfs-linux-melb:xfs-kern:28642a
      Signed-Off-By: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      3260f78a
    • David Chinner's avatar
      [XFS] Make hole punching at EOF atomic. · 92dfe8d2
      David Chinner authored
      If hole punching at EOF is done as two steps (i.e. truncate then extend)
      the file is in a transient state between the two steps where an
      application can see the incorrect file size. Punching a hole to EOF needs
      to be treated in teh same way as all other hole punching cases so that the
      file size is never seen to change.
      
      SGI-PV: 962012
      SGI-Modid: xfs-linux-melb:xfs-kern:28641a
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarVlad Apostolov <vapo@sgi.com>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      92dfe8d2
    • David Chinner's avatar
      [XFS] Fix vmalloc leak on mount/unmount. · 511105b3
      David Chinner authored
      When setting the length of the iclogbuf to write out we should just be
      changing the desired byte count rather completely reassociating the buffer
      memory with the buffer. Reassociating the buffer memory changes the
      apparent length of the buffer and hence when we free the buffer, we don't
      free all the vmap()d space we originally allocated.
      
      SGI-PV: 964983
      SGI-Modid: xfs-linux-melb:xfs-kern:28640a
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      511105b3
    • Christoph Hellwig's avatar
      [XFS] Fix double free in xfs_buf_get_noaddr error handling path · ca165b88
      Christoph Hellwig authored
      SGI-PV: 964983
      SGI-Modid: xfs-linux-melb:xfs-kern:28639a
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      ca165b88
    • David Chinner's avatar
      [XFS] Fix use-after-free during log unmount. · 3db296f3
      David Chinner authored
      Don't reference the log buffer after running the callbacks as the callback
      can trigger the log buffers to be freed during unmount.
      
      SGI-PV: 964545
      SGI-Modid: xfs-linux-melb:xfs-kern:28567a
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      3db296f3
    • David Chinner's avatar
      [XFS] Sleeping with the ilock waiting for I/O completion is Bad. · 40095b64
      David Chinner authored
      Recent fixes to the filesystem freezing code introduced a vn_iowait call
      in the middle of the sync code. Unfortunately, at the point where this
      call was added we are holding the ilock. The ilock is needed by I/O
      completion for unwritten extent conversion and now updating the file size.
      Hence I/o cannot complete if we hold the ilock while waiting for I/O
      completion.
      
      Fix up the bug and clean the code up around it.
      
      SGI-PV: 963674
      SGI-Modid: xfs-linux-melb:xfs-kern:28566a
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      40095b64
    • Nathan Scott's avatar
      [XFS] Don't grow filesystems past the size they can index. · 4cc929ee
      Nathan Scott authored
      When growing a filesystem we don't check to see if the new size overflows
      the page cache index range, so we can do silly things like grow a
      filesystem page 16TB on a 32bit. Check new filesystem sizes against the
      limits the kernel can support.
      
      SGI-PV: 957886
      SGI-Modid: xfs-linux-melb:xfs-kern:28563a
      Signed-Off-By: default avatarNathan Scott <nscott@aconex.com>
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      4cc929ee
    • Christoph Hellwig's avatar
      [XFS] Only use refcounted pages for I/O · 1fa40b01
      Christoph Hellwig authored
      Many block drivers (aoe, iscsi) really want refcountable pages in bios,
      which is what almost everyone send down. XFS unfortunately has a few
      places where it sends down buffers that may come from kmalloc, which
      breaks them.
      
      Fix the places that use kmalloc()d buffers.
      
      SGI-PV: 964546
      SGI-Modid: xfs-linux-melb:xfs-kern:28562a
      Signed-Off-By: default avatarChristoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
      Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
      1fa40b01
  2. 11 Jul, 2007 4 commits
    • Alan Cox's avatar
      lots-of-architectures: enable arbitary speed tty support · 4eb6bf6b
      Alan Cox authored
      Add the termios2 structure ready for enabling on most platforms.  One or
      two like Sparc are plain weird so have been left alone.  Most can use the
      same structure as ktermios for termios2 (ie the newer ioctl uses the
      structure matching the current kernel structure)
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Cc: Bryan Wu <bryan.wu@analog.com>
      Cc: Ian Molton <spyro@f2s.com>
      Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Hirokazu Takata <takata@linux-m32r.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Matthew Wilcox <willy@debian.org>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
      Cc: Richard Curnow <rc@rc0.org.uk>
      Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp>
      Cc: Chris Zankel <chris@zankel.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4eb6bf6b
    • Pavel Emelianov's avatar
      Make common helpers for seq_files that work with list_heads · bcf67e16
      Pavel Emelianov authored
      Many places in kernel use seq_file API to iterate over a regular list_head.
      The code for such iteration is identical in all the places, so it's worth
      introducing a common helpers.
      
      This makes code about 300 lines smaller:
      
      The first version of this patch made the helper functions static inline
      in the seq_file.h header. This patch moves them to the fs/seq_file.c as
      Andrew proposed. The vmlinux .text section sizes are as follows:
      
      2.6.22-rc1-mm1:              0x001794d5
      with the previous version:   0x00179505
      with this patch:             0x00179135
      
      The config file used was make allnoconfig with the "y" inclusion of all
      the possible options to make the files modified by the patch compile plus
      drivers I have on the test node.
      
      This patch:
      
      Many places in kernel use seq_file API to iterate over a regular list_head.
      The code for such iteration is identical in all the places, so it's worth
      introducing a common helpers.
      Signed-off-by: default avatarPavel Emelianov <xemul@openvz.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bcf67e16
    • Jiri Slaby's avatar
      sx: switch subven and subid values · c14d444b
      Jiri Slaby authored
      sx.c is failing to locate Graham's card.
      Signed-off-by: default avatarJiri Slaby <jirislaby@gmail.com>
      Cc: Graham Murray <gmurray@webwayone.co.uk>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c14d444b
    • Richard Purdie's avatar
      Add LZO1X algorithm to the kernel · 64c70b1c
      Richard Purdie authored
      This is a hybrid version of the patch to add the LZO1X compression
      algorithm to the kernel.  Nitin and myself have merged the best parts of
      the various patches to form this version which we're both happy with (and
      are jointly signing off).
      
      The performance of this version is equivalent to the original minilzo code
      it was based on.  Bytecode comparisons have also been made on ARM, i386 and
      x86_64 with favourable results.
      
      There are several users of LZO lined up including jffs2, crypto and reiser4
      since its much faster than zlib.
      Signed-off-by: default avatarNitin Gupta <nitingupta910@gmail.com>
      Signed-off-by: default avatarRichard Purdie <rpurdie@openedhand.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      64c70b1c
  3. 10 Jul, 2007 15 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc · 4c75f741
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
        mmc: at91_mci: fix hanging and rework to match flowcharts
        mmc: at91_mci typo
        sdhci: Fix "Unexpected interrupt" handling
        mmc: fix silly copy-and-paste error
        mmc: move layer init and workqueue to core file
        mmc: refactor host class handling
        mmc: refactor bus operations
        sdhci: add ene controller id
        mmc: bounce requests for simple hosts
      4c75f741
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 · 6ed911fb
      Linus Torvalds authored
      * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (40 commits)
        bonding/bond_main.c: make 2 functions static
        ps3: gigabit ethernet driver for PS3, take3
        [netdrvr] Fix dependencies for ax88796 ne2k clone driver
        eHEA: Capability flag for DLPAR support
        Remove sk98lin ethernet driver.
        sunhme.c:quattro_pci_find() must be __devinit
        bonding / ipv6: no addrconf for slaves separately from master
        atl1: remove write-only var in tx handler
        macmace: use "unsigned long flags;"
        Cleanup usbnet_probe() return value handling
        netxen: deinline and sparse fix
        eeprom_93cx6: shorten pulse timing to match spec (bis)
        phylib: Add Marvell 88E1112 phy id
        phylib: cleanup marvell.c a bit
        AX88796 network driver
        IOC3: Switch to pci refcounting safe APIs
        e100: Fix Tyan motherboard e100 not receiving IPMI commands
        QE Ethernet driver writes to wrong register to mask interrupts
        rrunner.c:rr_init() must be __devinit
        tokenring/3c359.c:xl_init() must be __devinit
        ...
      6ed911fb
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev · 64b853aa
      Linus Torvalds authored
      * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (32 commits)
        [libata] sata_mv: print out additional chip info during probe
        [libata] Use ATA_UDMAx standard masks when filling driver's udma_mask info
        [libata] AHCI: Add support for Marvell AHCI-like chips (initially 6145)
        [libata] Clean up driver udma_mask initializers
        libata: Support chips with 64K PRD quirk
        Add a PCI ID for santa rosa's PATA controller.
        sata_sil24: sil24_interrupt() micro-optimisation
        Add irq_flags to struct pata_platform_info
        sata_promise: cleanups
        [libata] pata_ixp4xx: kill unused var
        ata_piix: fix pio/mwdma programming
        [libata] ahci: minor internal cleanups
        [ATA] Add named constant for ATAPI command DEVICE RESET
        [libata] sata_sx4, sata_via: minor documentation updates
        [libata] ahci: minor internal cleanups
        [libata] ahci: Factor out SATA port init into a separate function
        [libata] pata_sil680: minor cleanups from benh
        [libata] sata_sx4: named constant cleanup
        [libata] pata_ixp4xx: convert to new EH
        [libata] pdc_adma: Reorder initializers with a couple structs
        ...
      64b853aa
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus · 0f166396
      Linus Torvalds authored
      * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (62 commits)
        [MIPS] PNX8550: Cleanup proc code.
        [MIPS] WRPPMC: Fix build.
        [MIPS] Yosemite: Fix modpost warnings.
        [MIPS] Change names of local variables to silence sparse
        [MIPS] SB1: Fix modpost warning.
        [MIPS] PNX: Fix modpost warnings.
        [MIPS] Alchemy: Fix modpost warnings.
        [MIPS] Non-FPAFF: Fix warning.
        [MIPS] DEC: Fix modpost warning.
        [MIPS] MIPSsim: Enable MIPSsim virtual network driver.
        [MIPS] Delete Ocelot 3 support.
        [MIPS] remove LASAT Networks platforms support
        [MIPS] Early check for SMTC kernel on non-MT processor
        [MIPS] Add debugfs files to show fpuemu statistics
        [MIPS] Add some debugfs files to debug unaligned accesses
        [MIPS] rbtx4938: Fix secondary PCIC and glue internal NICs
        [MIPS] tc35815: Load MAC address via platform_device
        [MIPS] Move FPU affinity code into separate file.
        [MIPS] Make ioremap() work on TX39/49 special unmapped segment
        [MIPS] rbtx4938: Update and minimize defconfig
        ...
      0f166396
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/~dwmw2/battery-2.6 · 5f60cfd9
      Linus Torvalds authored
      * git://git.infradead.org/~dwmw2/battery-2.6:
        [BATTERY] ds2760 W1 slave
        [BATTERY] One Laptop Per Child power/battery driver
        [BATTERY] Apple PMU driver
        [BATTERY] 1-Wire ds2760 chip battery driver
        [BATTERY] APM emulation driver for class batteries
        [BATTERY] pda_power platform driver
        [BATTERY] Universal power supply class (was: battery class)
      5f60cfd9
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 · 9f9d7632
      Linus Torvalds authored
      * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
        [S390] vmlogrdr function annotation.
        [S390] s390: rename CPU_IDLE to S390_CPU_IDLE
        [S390] cio: Remove prototype for non-existing function cmf_reset().
        [S390] zcrypt: fix request timeout handling
        [S390] system call optimization.
        [S390] dasd: Avoid compile warnings on !CONFIG_DASD_PROFILE
        [S390] Remove volatile from atomic_t
        [S390] Program check in diag 210 under 31 bit
        [S390] Bogomips calculation for 64 bit.
        [S390] smp: Merge smp_count_cpus() and smp_get_save_areas().
        [S390] zcore: Fix __user annotation.
        [S390] fixed cdl-format detection.
        [S390] sclp: Test facility list before executing a service call.
        [S390] sclp: introduce some new interfaces.
        [S390] Fixed comment typo.
        [S390] vmcp cleanup
      9f9d7632
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw · 1b21f458
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (57 commits)
        [GFS2] Accept old format NFS filehandles
        [GFS2] Small fixes to logging code
        [DLM] dump more lock values
        [GFS2] Remove i_mode passing from NFS File Handle
        [GFS2] Obtaining no_formal_ino from directory entry
        [GFS2] git-gfs2-nmw-build-fix
        [GFS2] System won't suspend with GFS2 file system mounted
        [GFS2] remounting w/o acl option leaves acls enabled
        [GFS2] inode size inconsistency
        [DLM] Telnet to port 21064 can stop all lockspaces
        [GFS2] Fix gfs2_block_truncate_page err return
        [GFS2] Addendum to the journaled file/unmount patch
        [GFS2] Simplify multiple glock aquisition
        [GFS2] assertion failure after writing to journaled file, umount
        [GFS2] Use zero_user_page() in stuffed_readpage()
        [GFS2] Remove bogus '\0' in rgrp.c
        [GFS2] Journaled file write/unstuff bug
        [DLM] don't require FS flag on all nodes
        [GFS2] Fix deallocation issues
        [GFS2] return conflicts for GETLK
        ...
      1b21f458
    • Linus Torvalds's avatar
      Merge branch 'splice-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block · 01370f06
      Linus Torvalds authored
      * 'splice-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block:
        pipe: add documentation and comments
        pipe: change the ->pin() operation to ->confirm()
        Remove remnants of sendfile()
        xip sendfile removal
        splice: completely document external interface with kerneldoc
        sendfile: remove bad_sendfile() from bad_file_ops
        shmem: convert to using splice instead of sendfile()
        relay: use splice_to_pipe() instead of open-coding the pipe loop
        pipe: allow passing around of ops private pointer
        splice: divorce the splice structure/function definitions from the pipe header
        splice: relay support
        sendfile: convert nfsd to splice_direct_to_actor()
        sendfile: convert nfs to using splice_read()
        loop: convert to using splice_direct_to_actor() instead of sendfile()
        splice: add void cookie to the actor data
        sendfile: kill generic_file_sendfile()
        sendfile: remove .sendfile from filesystems that use generic_file_sendfile()
        sys_sendfile: switch to using ->splice_read, if available
        vmsplice: add vmsplice-to-user support
        splice: abstract out actor data
      01370f06
    • Linus Torvalds's avatar
      Merge branch 'trivial-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block · 5cbc39a7
      Linus Torvalds authored
      * 'trivial-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block:
        Documentation/block/barrier.txt is not in sync with the actual code: - blk_queue_ordered() no longer has a gfp_mask parameter - blk_queue_ordered_locked() no longer exists - sd_prepare_flush() looks slightly different
        Use list_for_each_entry() instead of list_for_each() in the block device
        Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu",
        block/Kconfig already has its own "menuconfig" so remove these
        Use menuconfigs instead of menus, so the whole menu can be disabled at once
        cfq-iosched: fix async queue behaviour
        unexport bio_{,un}map_user
        Remove legacy CDROM drivers
        [PATCH] fix request->cmd == INT cases
        cciss: add new controller support for P700m
        [PATCH] Remove acsi.c
        [BLOCK] drop unnecessary bvec rewinding from flush_dry_bio_endio
        [PATCH] cdrom_sysctl_info fix
        blk_hw_contig_segment(): bad segment size checks
        [TRIVIAL PATCH] Kill blk_congestion_wait() stub for !CONFIG_BLOCK
      5cbc39a7
    • Adrian Bunk's avatar
      bonding/bond_main.c: make 2 functions static · 4ad072c9
      Adrian Bunk authored
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      Cc: Chad Tindel <ctindel@users.sourceforge.net>
      Cc: Jay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      4ad072c9
    • Masakazu Mokuno's avatar
      ps3: gigabit ethernet driver for PS3, take3 · 02c18891
      Masakazu Mokuno authored
      Hi,
      
      This is the third submission of the network driver for PS3.
      The differences from the previous one are:
      
        - renamed source file names so that their prefix can match
          with the module name
        - added cbe-oss-dev@ozlabs.org line for MAINTAINER file
        - changed some in copyright comments
      
      If there are no more comments, please apply for 2.6.23.
      
      Thank you
      
      --
      Subject: PS3: Ethernet driver
      
      From: Masakazu Mokuno <mokuno@sm.sony.co.jp>
      
      Add Gigabit Ethernet support for the PS3 game console.  The module will
      be called ps3_gelic.
      
      CC: Geoff Levand <geoffrey.levand@am.sony.com>
      Signed-off-by: default avatarMasakazu Mokuno <mokuno@sm.sony.co.jp>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      02c18891
    • Jeff Garzik's avatar
      [netdrvr] Fix dependencies for ax88796 ne2k clone driver · def47c50
      Jeff Garzik authored
      It needs writesb(), not available on all platforms.
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      def47c50
    • Jan-Bernd Themann's avatar
      eHEA: Capability flag for DLPAR support · 4c3ca4da
      Jan-Bernd Themann authored
      This patch introduces a capability flag that is used by the DLPAR userspace
      tool to check which DLPAR features are supported by the eHEA driver.
      
      Missing goto has been included.
      Signed-off-by: default avatarJan-Bernd Themann <themann@de.ibm.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      4c3ca4da
    • Jeff Garzik's avatar
      Remove sk98lin ethernet driver. · e1abecc4
      Jeff Garzik authored
      Unmaintained, superceded by skge.
      
      Prodded to deletion by Adrian Bunk.  Acked by Stephen Hemminger.
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      e1abecc4
    • Adrian Bunk's avatar
      sunhme.c:quattro_pci_find() must be __devinit · cd6f5b80
      Adrian Bunk authored
      This patch fixes the following section mismatch:
      
      <--  snip  -->
      
      ...
        MODPOST vmlinux
      WARNING: drivers/built-in.o(.text+0x272f8b): Section mismatch: reference to .init.text:quattro_pci_find (between 'happy_meal_pci_probe' and 'happy_meal_pci_remove')
      ...
      
      <--  snip  -->
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      cd6f5b80