Skip to content
  1. Jul 03, 2012
    • NeilBrown's avatar
      md/raid5: fix refcount problem when blocked_rdev is set. · 5f066c63
      NeilBrown authored
      commit 43220aa0
      
      
          md/raid5: fix a hang on device failure.
      
      fixed a hang, but introduced a refcounting in-balance so
      that if the presence of bad-blocks ever caused an rdev to
      be 'blocked' we would increment the refcount on the rdev and
      never decrement it.
      
      So added the needed rdev_dec_pending when md_wait_for_blocked_rdev
      is not called.
      
      Reported-by: default avatarmajianpeng <majianpeng@gmail.com>
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      5f066c63
    • majianpeng's avatar
      md:Add blk_plug in sync_thread. · 7c2c57c9
      majianpeng authored
      
      
      Add blk_plug in sync_thread will increase the performance of sync.
      Because sync_thread did not blk_plug,so when raid sync, the bio merge
      not well.
      
      Testing environment:
      SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI
      Controller.
      OS:Linux xxx 3.5.0-rc2+ #340 SMP Tue Jun 12 09:00:25 CST 2012
      x86_64 x86_64 x86_64 GNU/Linux.
      RAID5: four ST31000524NS disk.
      
      Without blk_plug:recovery speed about 63M/Sec;
      Add blk_plug:recovery speed about 120M/Sec.
      
      Using blktrace:
      blktrace -d /dev/sdb -w 60  -o -|blkparse -i -
      
      without blk_plug:
      Total (8,16):
       Reads Queued:      309811,     1239MiB	 Writes Queued:           0,        0KiB
       Read Dispatches:   283583,     1189MiB	 Write Dispatches:        0,        0KiB
       Reads Requeued:         0		 Writes Requeued:         0
       Reads Completed:   273351,     1149MiB	 Writes Completed:        0,        0KiB
       Read Merges:        23533,    94132KiB	 Write Merges:            0,        0KiB
       IO unplugs:             0        	 Timer unplugs:           0
      
      add blk_plug:
      Total (8,16):
       Reads Queued:      428697,     1714MiB	 Writes Queued:           0,        0KiB
       Read Dispatches:     3954,     1714MiB	 Write Dispatches:        0,        0KiB
       Reads Requeued:         0		 Writes Requeued:         0
       Reads Completed:     3956,     1715MiB	 Writes Completed:        0,        0KiB
       Read Merges:       424743,     1698MiB	 Write Merges:            0,        0KiB
       IO unplugs:             0        	 Timer unplugs:        3384
      
      The ratio of merge will be markedly increased.
      
      Signed-off-by: default avatarmajianpeng <majianpeng@gmail.com>
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      7c2c57c9
    • majianpeng's avatar
      md/raid5: In ops_run_io, inc nr_pending before calling md_wait_for_blocked_rdev · 1850753d
      majianpeng authored
      In ops_run_io(), the call to md_wait_for_blocked_rdev will decrement
      nr_pending so we lose the reference we hold on the rdev.
      So atomic_inc it first to maintain the reference.
      
      This bug was introduced by commit  73e92e51
      
      
          md/raid5.  Don't write to known bad block on doubtful devices.
      
      which appeared in 3.0, so patch is suitable for stable kernels since
      then.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarmajianpeng <majianpeng@gmail.com>
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      1850753d
    • majianpeng's avatar
      md/raid5: Do not add data_offset before call to is_badblock · 6c0544e2
      majianpeng authored
      In chunk_aligned_read() we are adding data_offset before calling
      is_badblock.  But is_badblock also adds data_offset, so that is bad.
      
      So move the addition of data_offset to after the call to
      is_badblock.
      
      This bug was introduced by commit 31c176ec
      
      
           md/raid5: avoid reading from known bad blocks.
      which first appeared in 3.0.  So that patch is suitable for any
      -stable kernel from 3.0.y onwards.  However it will need minor
      revision for most of those (as the comment didn't appear until
      recently).
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarmajianpeng <majianpeng@gmail.com>
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      6c0544e2
    • NeilBrown's avatar
      md/raid5: prefer replacing failed devices over want-replacement devices. · 5cfb22a1
      NeilBrown authored
      
      
      If a RAID5 has both a failed device and a device marked as
      'WantReplacement', then we should preferentially replace the failed
      device.
      However the current code replaces whichever is found first.
      So split into 2 loops, check fail failed/missing first, and only check
      for WantReplacement if nothing is failed or missing.
      
      Reported-by: default avatarmajianpeng <majianpeng@gmail.com>
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      5cfb22a1
    • NeilBrown's avatar
      md/raid10: Don't try to recovery unmatched (and unused) chunks. · fc448a18
      NeilBrown authored
      
      
      If a RAID10 has an odd number of chunks - as might happen when there
      are an odd number of devices - the last chunk has no pair and so is
      not mirrored.  We don't store data there, but when recovering the last
      device in an array we retry to recover that last chunk from a
      non-existent location.  This results in an error, and the recovery
      aborts.
      
      When we get to that last chunk we should just stop - there is nothing
      more to do anyway.
      
      This bug has been present since the introduction of RAID10, so the
      patch is appropriate for any -stable kernel.
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarChristian Balzer <chibi@gol.com>
      Tested-by: default avatarChristian Balzer <chibi@gol.com>
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      fc448a18
  2. Jun 25, 2012
    • Linus Torvalds's avatar
      Linux 3.5-rc4 · 6b16351a
      Linus Torvalds authored
      v3.5-rc4
      6b16351a
    • Anatol Pomozov's avatar
      Fix typo in printed messages · 02b7d834
      Anatol Pomozov authored
      
      
      Coult -> Could
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      02b7d834
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/virt/kvm/kvm · 104452f0
      Linus Torvalds authored
      Pull KVM fixes from Avi Kivity:
       "Fixing a scheduling-while-atomic bug in the ppc code, and a bug which
        allowed pci bridges to be assigned to guests."
      
      * git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: PPC: Book3S HV: Drop locks around call to kvmppc_pin_guest_page
        KVM: Fix PCI header check on device assignment
      104452f0
    • Linus Torvalds's avatar
      Merge tag 'rdma-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 08d49c46
      Linus Torvalds authored
      Pull InfiniBand/RDMA fixes from Roland Dreier:
       - Fixes to new ocrdma driver
       - Typo in test in CMA
      
      * tag 'rdma-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        RDMA/cma: QP type check on received REQs should be AND not OR
        RDMA/ocrdma: Fix off by one in ocrdma_query_gid()
        RDMA/ocrdma: Fixed RQ error CQE polling
        RDMA/ocrdma: Correct queue SGE calculation
        RDMA/ocrdma: Correct reported max queue sizes
        RDMA/ocrdma: Fixed GID table for vlan and events
      08d49c46
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · a4a20fd9
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "Nothing very controversial in here.  Most of the fixes are for OMAP
        this time around, with some orion/kirkwood and a tegra patch mixed in."
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: Orion: Fix Virtual/Physical mixup with watchdog
        ARM: Kirkwood: clk_register_gate_fn: add fn assignment
        ARM: Orion5x - Restore parts of io.h, with rework
        ARM: OMAP4: hwmod data: Force HDMI in no-idle while enabled
        ARM: OMAP2+: mux: fix sparse warning
        ARM: OMAP2+: CM: increase the module disable timeout
        ARM: OMAP4: clock data: add clockdomains for clocks used as main clocks
        ARM: OMAP4: hwmod data: fix 32k sync timer idle modes
        ARM: OMAP4+: hwmod: fix issue causing IPs not going back to Smart-Standby
        ARM: OMAP: Fix Beagleboard DVI reset gpio
        arm/dts: OMAP2: Fix interrupt controller binding
        ARM: OMAP2: Fix tusb6010 GPIO interrupt for n8x0
        ARM: OMAP2+: Fix MUSB ifdefs for platform init code
        ARM: tegra: make tegra_cpu_reset_handler_enable() __init
        ARM: OMAP: PM: Lock clocks list while generating summary
        ARM: iconnect: Remove include of removed linux/spi/orion_spi.h
      a4a20fd9
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 2ecedc47
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Nothing major in here, one radeon SI fix for tiling, and one uninit
        var fix, two minor header file fixes."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm: drop comment about this header being autogenerated.
        drm/edid: don't return stack garbage from supports_rb
        vga_switcheroo: Add include guard
        drm/radeon: SI tiling fixes for display
      2ecedc47
  3. Jun 24, 2012
    • Roland Dreier's avatar
      2e51fd3c
    • Andrew Lunn's avatar
      ARM: Orion: Fix Virtual/Physical mixup with watchdog · 0fa1f060
      Andrew Lunn authored
      
      
      The orion watchdog is expecting to be passed the physcial address of
      the hardware, and will ioremap() it to give a virtual address it will
      use as the base address for the hardware. However, when creating the
      platform resource record, a virtual address was being used.
      
      Add the necassary #define's so we can pass the physical address as
      expected.
      
      Tested on Kirkwood and Orion5x.
      
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      0fa1f060
    • Marc Kleine-Budde's avatar
      ARM: Kirkwood: clk_register_gate_fn: add fn assignment · 5fb2ce11
      Marc Kleine-Budde authored
      In commit:
          98d9986c
      
       ARM: Kirkwood: Replace clock gating
      the kirkwood clock gating has been reworked. A custom variant of
      clock gating, that calls a custom function before gating the clock
      off, has been introduced. However in clk_register_gate_fn() this
      custom function "fn" is never assigned.
      
      This patch adds the missing fn assignment.
      
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarMarc Kleine-Budde <mkl@blackshift.org>
      Tested-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Acked-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      5fb2ce11
    • Andrew Lunn's avatar
      ARM: Orion5x - Restore parts of io.h, with rework · b5e12229
      Andrew Lunn authored
      Commit 4d5fc58d
      
       (ARM: remove bunch of
      now unused mach/io.h files) removed the orion5x io.h. Unfortunately,
      this is still needed for the definition of IO_SPACE_LIMIT which
      overrides the default 64K. All Orion based systems have 1Mbyte of IO
      space per PCI[e] bus, and try to request_resource() this size. Orion5x
      has two such PCI buses.
      
      It is likely that the original, removed version, was broken. This
      version might be less broken. However, it has not been tested on
      hardware with a PCI card, let alone hardware with a PCI card with IO
      capabilities.
      
      Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Acked-by: default avatarRob Herring <rob.herring@calxeda.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      b5e12229
    • Olof Johansson's avatar
      Merge tag 'omap-fixes-a-for-3.5rc' of... · a34a3b72
      Olof Johansson authored
      Merge tag 'omap-fixes-a-for-3.5rc' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into fixes
      
      From Paul Walmsley (as per Tony Lindgren's request):
       "Some uncontroversial OMAP clock, hwmod, and compiler warning fixes for 3.5-rc"
      
      * tag 'omap-fixes-a-for-3.5rc' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending:
        ARM: OMAP4: hwmod data: Force HDMI in no-idle while enabled
        ARM: OMAP2+: mux: fix sparse warning
        ARM: OMAP2+: CM: increase the module disable timeout
        ARM: OMAP4: clock data: add clockdomains for clocks used as main clocks
        ARM: OMAP4: hwmod data: fix 32k sync timer idle modes
        ARM: OMAP4+: hwmod: fix issue causing IPs not going back to Smart-Standby
        ARM: OMAP: PM: Lock clocks list while generating summary
      a34a3b72
    • Olof Johansson's avatar
      Merge tag 'omap-fixes-for-v3.5-rc3' of... · e23d7096
      Olof Johansson authored
      Merge tag 'omap-fixes-for-v3.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      From Tony Lindgren:
      "Here are a few fixes with the biggest one being fix for Beagle DVI
       reset. All of them are regression fixes, except for the missing omap2
       interrupt controller binding that somehow got missed earlier."
      
      * tag 'omap-fixes-for-v3.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: OMAP: Fix Beagleboard DVI reset gpio
        arm/dts: OMAP2: Fix interrupt controller binding
        ARM: OMAP2: Fix tusb6010 GPIO interrupt for n8x0
        ARM: OMAP2+: Fix MUSB ifdefs for platform init code
      e23d7096
  4. Jun 23, 2012
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 002b758b
      Linus Torvalds authored
      Pull Ceph fixes from Sage Weil:
       "There are a couple of fixes from Yan for bad pointer dereferences in
        the messenger code and when fiddling with page->private after page
        migration, a fix from Alex for a use-after-free in the osd client
        code, and a couple fixes for the message refcounting and shutdown
        ordering."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
        libceph: flush msgr queue during mon_client shutdown
        rbd: Clear ceph_msg->bio_iter for retransmitted message
        libceph: use con get/put ops from osd_client
        libceph: osd_client: don't drop reply reference too early
        ceph: check PG_Private flag before accessing page->private
      002b758b
    • Linus Torvalds's avatar
      Merge tag 'for-linus-Jun-21-2012' of git://oss.sgi.com/xfs/xfs · 369c4f54
      Linus Torvalds authored
      Pull XFS fixes from Ben Myers:
       - Fix stale data exposure with unwritten extents
       - Fix a warning in xfs_alloc_vextent with ODEBUG
       - Fix overallocation and alignment of pages for xfs_bufs
       - Fix a cursor leak
       - Fix a log hang
       - Fix a crash related to xfs_sync_worker
       - Rename xfs log structure from struct log to struct xlog so we can use
         crash dumps effectively
      
      * tag 'for-linus-Jun-21-2012' of git://oss.sgi.com/xfs/xfs:
        xfs: rename log structure to xlog
        xfs: shutdown xfs_sync_worker before the log
        xfs: Fix overallocation in xfs_buf_allocate_memory()
        xfs: fix allocbt cursor leak in xfs_alloc_ag_vextent_near
        xfs: check for stale inode before acquiring iflock on push
        xfs: fix debug_object WARN at xfs_alloc_vextent()
        xfs: xfs_vm_writepage clear iomap_valid when !buffer_uptodate (REV2)
      369c4f54
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a1163719
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar.
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        ftrace: Make all inline tags also include notrace
        perf: Use css_tryget() to avoid propping up css refcount
        perf tools: Fix synthesizing tracepoint names from the perf.data headers
        perf stat: Fix default output file
        perf tools: Fix endianity swapping for adds_features bitmask
      a1163719
  5. Jun 22, 2012
  6. Jun 21, 2012