1. 08 3月, 2012 8 次提交
    • J
      dm raid: fix flush support · 0ca93de9
      Jonathan E Brassow 提交于
      Fix dm-raid flush support.
      
      Both md and dm have support for flush, but the dm-raid target
      forgot to set the flag to indicate that flushes should be
      passed on.  (Important for data integrity e.g. with writeback cache
      enabled.)
      Signed-off-by: NJonathan Brassow <jbrassow@redhat.com>
      Acked-by: NMike Snitzer <snitzer@redhat.com>
      Cc: stable@kernel.org
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      0ca93de9
    • J
      dm raid: set MD_CHANGE_DEVS when rebuilding · 3aa3b2b2
      Jonathan E Brassow 提交于
      The 'rebuild' parameter is used to rebuild individual devices in an
      array (e.g. resynchronize a RAID1 device or recalculate a parity device
      in higher RAID).  The MD_CHANGE_DEVS flag must be set when this
      parameter is given in order to write out the superblocks and make the
      change take immediate effect.  The code that handles new devices in
      super_load already sets MD_CHANGE_DEVS and 'FirstUse'.  (The 'FirstUse'
      flag was being set as a special case for rebuilds in
      super_init_validation.)
      
      Add a condition for rebuilds in super_load to take care of both flags
      without the special case in 'super_init_validation'.
      Signed-off-by: NJonathan Brassow <jbrassow@redhat.com>
      Cc: stable@kernel.org
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      3aa3b2b2
    • J
      dm thin metadata: decrement counter after removing mapped block · af63bcb8
      Joe Thornber 提交于
      Correct the number of mapped sectors shown on a thin device's
      status line by decrementing td->mapped_blocks in __remove() each time
      a block is removed.
      Signed-off-by: NJoe Thornber <ejt@redhat.com>
      Acked-by: NMike Snitzer <snitzer@redhat.com>
      Cc: stable@kernel.org
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      af63bcb8
    • J
      dm thin metadata: unlock superblock in init_pmd error path · 4469a5f3
      Joe Thornber 提交于
      If dm_sm_disk_create() fails the superblock must be unlocked.
      Signed-off-by: NJoe Thornber <ejt@redhat.com>
      Acked-by: NMike Snitzer <snitzer@redhat.com>
      Cc: stable@kernel.org
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      4469a5f3
    • M
      dm thin metadata: remove incorrect close_device on creation error paths · 1f3db25d
      Mike Snitzer 提交于
      The __open_device() error paths in __create_thin() and __create_snap()
      incorrectly call __close_device() even if td was not initialized by
      __open_device().  Remove this.
      
      Also document __open_device() return values, remove a redundant
      td->changed = 1 in __create_thin(), and insert an additional
      safeguard against creating an already-existing device.
      Signed-off-by: NMike Snitzer <snitzer@redhat.com>
      Cc: stable@kernel.org
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      1f3db25d
    • M
      dm flakey: fix crash on read when corrupt_bio_byte not set · 1212268f
      Mike Snitzer 提交于
      The following BUG is hit on the first read that is submitted to a dm
      flakey test device while the device is "down" if the corrupt_bio_byte
      feature wasn't requested when the device's table was loaded.
      
      Example DM table that will hit this BUG:
      0 2097152 flakey 8:0 2048 0 30
      
      This bug was introduced by commit a3998799
      (dm flakey: add corrupt_bio_byte feature) in v3.1-rc1.
      
      BUG: unable to handle kernel paging request at ffff8801cfce3fff
      IP: [<ffffffffa008c233>] corrupt_bio_data+0x6e/0xae [dm_flakey]
      PGD 1606063 PUD 0
      Oops: 0002 [#1] SMP
      ...
      Call Trace:
       <IRQ>
       [<ffffffffa008c2b5>] flakey_end_io+0x42/0x48 [dm_flakey]
       [<ffffffffa00dca98>] clone_endio+0x54/0xb6 [dm_mod]
       [<ffffffff81130587>] bio_endio+0x2d/0x2f
       [<ffffffff811c819a>] req_bio_endio+0x96/0x9f
       [<ffffffff811c94b9>] blk_update_request+0x1dc/0x3a9
       [<ffffffff812f5ee2>] ? rcu_read_unlock+0x21/0x23
       [<ffffffff811c96a6>] blk_update_bidi_request+0x20/0x6e
       [<ffffffff811c9713>] blk_end_bidi_request+0x1f/0x5d
       [<ffffffff811c978d>] blk_end_request+0x10/0x12
       [<ffffffff8128f450>] scsi_io_completion+0x1e5/0x4b1
       [<ffffffff812882a9>] scsi_finish_command+0xec/0xf5
       [<ffffffff8128f830>] scsi_softirq_done+0xff/0x108
       [<ffffffff811ce284>] blk_done_softirq+0x84/0x98
       [<ffffffff81048d19>] __do_softirq+0xe3/0x1d5
       [<ffffffff8138f83f>] ? _raw_spin_lock+0x62/0x69
       [<ffffffff810997cf>] ? handle_irq_event+0x4c/0x61
       [<ffffffff8139833c>] call_softirq+0x1c/0x30
       [<ffffffff81003b37>] do_softirq+0x4b/0xa3
       [<ffffffff81048a39>] irq_exit+0x53/0xca
       [<ffffffff81398acd>] do_IRQ+0x9d/0xb4
       [<ffffffff81390333>] common_interrupt+0x73/0x73
      ...
      Signed-off-by: NMike Snitzer <snitzer@redhat.com>
      Cc: stable@vger.kernel.org # 3.1+
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      1212268f
    • M
      dm io: fix discard support · 0c535e0d
      Milan Broz 提交于
      This patch fixes a crash by recognising discards in dm_io.
      
      Currently dm_mirror can send REQ_DISCARD bios if running over a
      discard-enabled device and without support in dm_io the system
      crashes badly.
      
      BUG: unable to handle kernel paging request at 00800000
      IP:  __bio_add_page.part.17+0xf5/0x1e0
      ...
       bio_add_page+0x56/0x70
       dispatch_io+0x1cf/0x240 [dm_mod]
       ? km_get_page+0x50/0x50 [dm_mod]
       ? vm_next_page+0x20/0x20 [dm_mod]
       ? mirror_flush+0x130/0x130 [dm_mirror]
       dm_io+0xdc/0x2b0 [dm_mod]
      ...
      
      Introduced in 2.6.38-rc1 by commit 5fc2ffea
      (dm raid1: support discard).
      Signed-off-by: NMilan Broz <mbroz@redhat.com>
      Cc: stable@kernel.org
      Acked-by: NMike Snitzer <snitzer@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      0c535e0d
    • J
      dm ioctl: do not leak argv if target message only contains whitespace · 902c6a96
      Jesper Juhl 提交于
      If 'argc' is zero we jump to the 'out:' label, but this leaks the
      (unused) memory that 'dm_split_args()' allocated for 'argv' if the
      string being split consisted entirely of whitespace.  Jump to the
      'out_argv:' label instead to free up that memory.
      Signed-off-by: NJesper Juhl <jj@chaosbits.net>
      Cc: stable@kernel.org
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      902c6a96
  2. 04 3月, 2012 5 次提交
  3. 03 3月, 2012 13 次提交
  4. 02 3月, 2012 8 次提交
  5. 01 3月, 2012 6 次提交
    • T
      Merge tag 'asoc-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus · b3999970
      Takashi Iwai 提交于
      A small fix for the SSI driver and a fix for system shutdown with modern
      devices.  Most of the modern devices will never get shut down normally
      with a visible kernel log as the systems they're in tend not to shut
      down often and when they do it's usually in form factors that don't have
      a user visible console.
      b3999970
    • T
      memblock: Fix size aligning of memblock_alloc_base_nid() · 847854f5
      Tejun Heo 提交于
      memblock allocator aligns @size to @align to reduce the amount
      of fragmentation.  Commit:
      
       7bd0b0f0 ("memblock: Reimplement memblock allocation using reverse free area iterator")
      
      Broke it by incorrectly relocating @size aligning to
      memblock_find_in_range_node().  As the aligned size is not
      propagated back to memblock_alloc_base_nid(), the actually
      reserved size isn't aligned.
      
      While this increases memory use for memblock reserved array,
      this shouldn't cause any critical failure; however, it seems
      that the size aligning was hiding a use-beyond-allocation bug in
      sparc64 and losing the aligning causes boot failure.
      
      The underlying problem is currently being debugged but this is a
      proper fix in itself, it's already pretty late in -rc cycle for
      boot failures and reverting the change for debugging isn't
      difficult. Restore the size aligning moving it to
      memblock_alloc_base_nid().
      Reported-by: NMeelis Roos <mroos@linux.ee>
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Link: http://lkml.kernel.org/r/20120228205621.GC3252@dhcp-172-17-108-109.mtv.corp.google.comSigned-off-by: NIngo Molnar <mingo@elte.hu>
      LKML-Reference: <alpine.SOC.1.00.1202130942030.1488@math.ut.ee>
      847854f5
    • L
      Merge tag 'for-linus' of git://github.com/rustyrussell/linux · d7e53922
      Linus Torvalds 提交于
      Merge virtio pull request from Rusty Russell.
      
      * tag 'for-linus' of git://github.com/rustyrussell/linux:
        virtio: balloon: leak / fill balloon across S4
      d7e53922
    • A
      virtio: balloon: leak / fill balloon across S4 · 4eb05d56
      Amit Shah 提交于
      commit e562966d added support for S4 to
      the balloon driver.  The freeze function did nothing to free the pages,
      since reclaiming the pages from the host to immediately give them back
      (if S4 was successful) seemed wasteful.  Also, if S4 wasn't successful,
      the guest would have to re-fill the balloon.  On restore, the pages were
      supposed to be marked freed and the free page counters were incremented
      to reflect the balloon was totally deflated.
      
      However, this wasn't done right.  The pages that were earlier taken away
      from the guest during a balloon inflation operation were just shown as
      used pages after a successful restore from S4.  Just a fancy way of
      leaking lots of memory.
      
      Instead of trying that, just leak the balloon on freeze and fill it on
      restore/thaw paths.  This works properly now.  The optimisation to not
      leak can be added later on after a bit of refactoring of the code.
      Signed-off-by: NAmit Shah <amit.shah@redhat.com>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      4eb05d56
    • T
      OMAPDSS: APPLY: make ovl_enable/disable synchronous · a3d0e4ae
      Tomi Valkeinen 提交于
      ovl->enable/disable are meant to be synchronous so that they can handle
      the configuration of fifo sizes. The current kernel doesn't configure
      fifo sizes yet, and so the code doesn't need to block to function (from
      omapdss driver's perspective).
      
      However, for the users of omapdss a non-blocking ovl->disable is
      confusing, because they don't know when the memory area is not used
      any more.
      
      Furthermore, when the fifo size configuration is added in the next merge
      window, the change from non-blocking to blocking could cause side
      effects to the users of omapdss. So by making the functions block
      already will keep them behaving in the same manner.
      
      And, while not the main purpose of this patch, this will also remove the
      compile warning:
      
      drivers/video/omap2/dss/apply.c:350: warning:
      'wait_pending_extra_info_updates' defined but not used
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      a3d0e4ae
    • T
      OMAPDSS: panel-dvi: Add Kconfig dependency on I2C · c9043ff9
      Tomi Valkeinen 提交于
      panel-dvi uses i2c, but the Kconfig didn't have dependency on I2C. Add
      it.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      c9043ff9