1. 09 2月, 2008 32 次提交
  2. 08 2月, 2008 8 次提交
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm · a4ffc0a0
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: (44 commits)
        dm raid1: report fault status
        dm raid1: handle read failures
        dm raid1: fix EIO after log failure
        dm raid1: handle recovery failures
        dm raid1: handle write failures
        dm snapshot: combine consecutive exceptions in memory
        dm: stripe enhanced status return
        dm: stripe trigger event on failure
        dm log: auto load modules
        dm: move deferred bio flushing to workqueue
        dm crypt: use async crypto
        dm crypt: prepare async callback fn
        dm crypt: add completion for async
        dm crypt: add async request mempool
        dm crypt: extract scatterlist processing
        dm crypt: tidy io ref counting
        dm crypt: introduce crypt_write_io_loop
        dm crypt: abstract crypt_write_done
        dm crypt: store sector mapping in dm_crypt_io
        dm crypt: move queue functions
        ...
      a4ffc0a0
    • L
      Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 · d7511ec8
      Linus Torvalds 提交于
      * 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6: (59 commits)
        hwmon: (lm80) Add individual alarm files
        hwmon: (lm80) De-macro the sysfs callbacks
        hwmon: (lm80) Various cleanups
        hwmon: (w83627hf) Refactor beep enable handling
        hwmon: (w83627hf) Add individual alarm and beep files
        hwmon: (w83627hf) Enable VBAT monitoring
        hwmon: (w83627ehf) The W83627DHG has 8 VID pins
        hwmon: (asb100) Add individual alarm files
        hwmon: (asb100) De-macro the sysfs callbacks
        hwmon: (asb100) Various cleanups
        hwmon: VRM is not written to registers
        hwmon: (dme1737) fix Super-IO device ID override
        hwmon: (dme1737) fix divide-by-0
        hwmon: (abituguru3) Add AUX4 fan input for Abit IP35 Pro
        hwmon: Add support for Texas Instruments/Burr-Brown ADS7828
        hwmon: (adm9240) Add individual alarm files
        hwmon: (lm77) Add individual alarm files
        hwmon: Discard useless I2C driver IDs
        hwmon: (lm85) Make the pwmN_enable files writable
        hwmon: (lm85) Return standard values in pwmN_enable
        ...
      d7511ec8
    • L
      Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6 · 0b61a2ba
      Linus Torvalds 提交于
      * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6: (62 commits)
        [XFS] add __init/__exit mark to specific init/cleanup functions
        [XFS] Fix oops in xfs_file_readdir()
        [XFS] kill xfs_root
        [XFS] keep i_nlink updated and use proper accessors
        [XFS] stop updating inode->i_blocks
        [XFS] Make xfs_ail_check check less by default
        [XFS] Move AIL pushing into it's own thread
        [XFS] use generic_permission
        [XFS] stop re-checking permissions in xfs_swapext
        [XFS] clean up xfs_swapext
        [XFS] remove permission check from xfs_change_file_space
        [XFS] prevent panic during log recovery due to bogus op_hdr length
        [XFS] Cleanup various fid related bits:
        [XFS] Fix xfs_lowbit64
        [XFS] Remove CFORK macros and use code directly in IFORK and DFORK macros.
        [XFS] kill superflous buffer locking (2nd attempt)
        [XFS] Use kernel-supplied "roundup_pow_of_two" for simplicity
        [XFS] Remove the BPCSHIFT and NB* based macros from XFS.
        [XFS] Remove bogus assert
        [XFS] optimize XFS_IS_REALTIME_INODE w/o realtime config
        ...
      0b61a2ba
    • N
      Convert SG from nopage to fault. · a13ff0bb
      Nick Piggin 提交于
      Signed-off-by: NNick Piggin <npiggin@suse.de>
      Cc: Douglas Gilbert <dougg@torque.net>
      Cc: James Bottomley <James.Bottomley@steeleye.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a13ff0bb
    • L
      Merge branch 'slub-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm · c00f08d7
      Linus Torvalds 提交于
      * 'slub-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm:
        SLUB: fix checkpatch warnings
        Use non atomic unlock
        SLUB: Support for performance statistics
        SLUB: Alternate fast paths using cmpxchg_local
        SLUB: Use unique end pointer for each slab page.
        SLUB: Deal with annoying gcc warning on kfree()
      c00f08d7
    • J
      dm raid1: report fault status · af195ac8
      Jonathan Brassow 提交于
      This patch adds extra information to the mirror status output, so that
      it can be determined which device(s) have failed.  For each mirror device,
      a character is printed indicating the most severe error encountered.  The
      characters are:
       *    A => Alive - No failures
       *    D => Dead - A write failure occurred leaving mirror out-of-sync
       *    S => Sync - A sychronization failure occurred, mirror out-of-sync
       *    R => Read - A read failure occurred, mirror data unaffected
      This allows userspace to properly reconfigure the mirror set.
      Signed-off-by: NJonathan Brassow <jbrassow@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      af195ac8
    • J
      dm raid1: handle read failures · 06386bbf
      Jonathan Brassow 提交于
      This patch gives the ability to respond-to/record device failures
      that happen during read operations.  It also adds the ability to
      read from mirror devices that are not the primary if they are
      in-sync.
      
      There are essentially two read paths in mirroring; the direct path
      and the queued path.  When a read request is mapped, if the region
      is 'in-sync' the direct path is taken; otherwise the queued path
      is taken.
      
      If the direct path is taken, we must record bio information so that
      if the read fails we can retry it.  We then discover the status of
      a direct read through mirror_end_io.  If the read has failed, we will
      mark the device from which the read was attempted as failed (so we
      don't try to read from it again), restore the bio and try again.
      
      If the queued path is taken, we discover the results of the read
      from 'read_callback'.  If the device failed, we will mark the device
      as failed and attempt the read again if there is another device
      where this region is known to be 'in-sync'.
      Signed-off-by: NJonathan Brassow <jbrassow@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      06386bbf
    • J
      dm raid1: fix EIO after log failure · b80aa7a0
      Jonathan Brassow 提交于
      This patch adds the ability to requeue write I/O to
      core device-mapper when there is a log device failure.
      
      If a write to the log produces and error, the pending writes are
      put on the "failures" list.  Since the log is marked as failed,
      they will stay on the failures list until a suspend happens.
      
      Suspends come in two phases, presuspend and postsuspend.  We must
      make sure that all the writes on the failures list are requeued
      in the presuspend phase (a requirement of dm core).  This means
      that recovery must be complete (because writes may be delayed
      behind it) and the failures list must be requeued before we
      return from presuspend.
      
      The mechanisms to ensure recovery is complete (or stopped) was
      already in place, but needed to be moved from postsuspend to
      presuspend.  We rely on 'flush_workqueue' to ensure that the
      mirror thread is complete and therefore, has requeued all writes
      in the failures list.
      
      Because we are using flush_workqueue, we must ensure that no
      additional 'queue_work' calls will produce additional I/O
      that we need to requeue (because once we return from
      presuspend, we are unable to do anything about it).  'queue_work'
      is called in response to the following functions:
      - complete_resync_work = NA, recovery is stopped
      - rh_dec (mirror_end_io) = NA, only calls 'queue_work' if it
                                 is ready to recover the region
                                 (recovery is stopped) or it needs
                                 to clear the region in the log*
                                 **this doesn't get called while
                                 suspending**
      - rh_recovery_end = NA, recovery is stopped
      - rh_recovery_start = NA, recovery is stopped
      - write_callback = 1) Writes w/o failures simply call
                         bio_endio -> mirror_end_io -> rh_dec
                         (see rh_dec above)
                         2) Writes with failures are put on
                         the failures list and queue_work is
                         called**
                         ** write_callbacks don't happen
                         during suspend **
      - do_failures = NA, 'queue_work' not called if suspending
      - add_mirror (initialization) = NA, only done on mirror creation
      - queue_bio = NA, 1) delayed I/O scheduled before flush_workqueue
                    is called.  2) No more I/Os are being issued.
                    3) Re-attempted READs can still be handled.
                    (Write completions are handled through rh_dec/
                    write_callback - mention above - and do not
                    use queue_bio.)
      Signed-off-by: NJonathan Brassow <jbrassow@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      b80aa7a0