1. 07 Mar, 2012 8 commits
    • Jonathan E Brassow's avatar
      dm raid: fix flush support · 0ca93de9
      Jonathan E Brassow authored
      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: default avatarJonathan Brassow <jbrassow@redhat.com>
      Acked-by: default avatarMike Snitzer <snitzer@redhat.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      0ca93de9
    • Jonathan E Brassow's avatar
      dm raid: set MD_CHANGE_DEVS when rebuilding · 3aa3b2b2
      Jonathan E Brassow authored
      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: default avatarJonathan Brassow <jbrassow@redhat.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      3aa3b2b2
    • Joe Thornber's avatar
      dm thin metadata: decrement counter after removing mapped block · af63bcb8
      Joe Thornber authored
      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: default avatarJoe Thornber <ejt@redhat.com>
      Acked-by: default avatarMike Snitzer <snitzer@redhat.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      af63bcb8
    • Joe Thornber's avatar
      dm thin metadata: unlock superblock in init_pmd error path · 4469a5f3
      Joe Thornber authored
      If dm_sm_disk_create() fails the superblock must be unlocked.
      Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
      Acked-by: default avatarMike Snitzer <snitzer@redhat.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      4469a5f3
    • Mike Snitzer's avatar
      dm thin metadata: remove incorrect close_device on creation error paths · 1f3db25d
      Mike Snitzer authored
      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: default avatarMike Snitzer <snitzer@redhat.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      1f3db25d
    • Mike Snitzer's avatar
      dm flakey: fix crash on read when corrupt_bio_byte not set · 1212268f
      Mike Snitzer authored
      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: default avatarMike Snitzer <snitzer@redhat.com>
      Cc: stable@vger.kernel.org # 3.1+
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      1212268f
    • Milan Broz's avatar
      dm io: fix discard support · 0c535e0d
      Milan Broz authored
      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: default avatarMilan Broz <mbroz@redhat.com>
      Cc: stable@kernel.org
      Acked-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      0c535e0d
    • Jesper Juhl's avatar
      dm ioctl: do not leak argv if target message only contains whitespace · 902c6a96
      Jesper Juhl authored
      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: default avatarJesper Juhl <jj@chaosbits.net>
      Cc: stable@kernel.org
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      902c6a96
  2. 04 Mar, 2012 3 commits
  3. 03 Mar, 2012 3 commits
  4. 02 Mar, 2012 20 commits
  5. 01 Mar, 2012 2 commits
    • Takashi Iwai's avatar
      Merge tag 'asoc-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus · b3999970
      Takashi Iwai authored
      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
    • Tejun Heo's avatar
      memblock: Fix size aligning of memblock_alloc_base_nid() · 847854f5
      Tejun Heo authored
      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: default avatarMeelis Roos <mroos@linux.ee>
      Signed-off-by: default avatarTejun 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: default avatarIngo Molnar <mingo@elte.hu>
      LKML-Reference: <alpine.SOC.1.00.1202130942030.1488@math.ut.ee>
      847854f5
  6. 29 Feb, 2012 4 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://github.com/rustyrussell/linux · d7e53922
      Linus Torvalds authored
      Merge virtio pull request from Rusty Russell.
      
      * tag 'for-linus' of git://github.com/rustyrussell/linux:
        virtio: balloon: leak / fill balloon across S4
      d7e53922
    • Amit Shah's avatar
      virtio: balloon: leak / fill balloon across S4 · 4eb05d56
      Amit Shah authored
      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: default avatarAmit Shah <amit.shah@redhat.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      4eb05d56
    • Tomi Valkeinen's avatar
      OMAPDSS: APPLY: make ovl_enable/disable synchronous · a3d0e4ae
      Tomi Valkeinen authored
      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: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      a3d0e4ae
    • Tomi Valkeinen's avatar
      OMAPDSS: panel-dvi: Add Kconfig dependency on I2C · c9043ff9
      Tomi Valkeinen authored
      panel-dvi uses i2c, but the Kconfig didn't have dependency on I2C. Add
      it.
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      c9043ff9