1. 09 Feb, 2011 4 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block · aceb91cd
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
        cdrom: support devices that have check_events but not media_changed
        cfq-iosched: Don't wait if queue already has requests.
        blkio-throttle: Avoid calling blkiocg_lookup_group() for root group
        cfq: rename a function to give it more appropriate name
        cciss: make cciss_revalidate not loop through CISS_MAX_LUNS volumes unnecessarily.
        drivers/block/aoe/Makefile: replace the use of <module>-objs with <module>-y
        loop: queue_lock NULL pointer derefence in blk_throtl_exit
        drivers/block/Makefile: replace the use of <module>-objs with <module>-y
        blktrace: Don't output messages if NOTIFY isn't set.
      aceb91cd
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://neil.brown.name/md · ae8eed2d
      Linus Torvalds authored
      * 'for-linus' of git://neil.brown.name/md:
        FIX: md: process hangs at wait_barrier after 0->10 takeover
        md_make_request: don't touch the bio after calling make_request
        md: Don't allow slot_store while resync/recovery is happening.
        md: don't clear curr_resync_completed at end of resync.
        md: Don't use remove_and_add_spares to remove failed devices from a read-only array
        Add raid1->raid0 takeover support
        md: Remove the AllReserved flag for component devices.
        md: don't abort checking spares as soon as one cannot be added.
        md: fix the test for finding spares in raid5_start_reshape.
        md: simplify some 'if' conditionals in raid5_start_reshape.
        md: revert change to raid_disks on failure.
      ae8eed2d
    • Simon Arlott's avatar
      cdrom: support devices that have check_events but not media_changed · b8cf0e0e
      Simon Arlott authored
      Commit 93aae17a ("sr: implement
      sr_check_events()") replaced the media_changed op with the
      check_events op in drivers/scsi/sr.c
      
      All users that check for the CDC_MEDIA_CHANGED capbility try both
      the check_events op and the media_changed op, but register_cdrom()
      was requiring media_changed.
      
      This patch fixes the capability checking.
      
      The cdrom_select_disc ioctl is also using the two operations, so
      they should be required for CDC_SELECT_DISC too.
      Signed-off-by: default avatarSimon Arlott <simon@fire.lp0.eu>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Tested-by: default avatarChris Clayton <chris2553@googlemail.com>
      Signed-off-by: default avatarJens Axboe <jaxboe@fusionio.com>
      b8cf0e0e
    • Justin TerAvest's avatar
      cfq-iosched: Don't wait if queue already has requests. · 02a8f01b
      Justin TerAvest authored
      Commit 7667aa06 added logic to wait for
      the last queue of the group to become busy (have at least one request),
      so that the group does not lose out for not being continuously
      backlogged. The commit did not check for the condition that the last
      queue already has some requests. As a result, if the queue already has
      requests, wait_busy is set. Later on, cfq_select_queue() checks the
      flag, and decides that since the queue has a request now and wait_busy
      is set, the queue is expired.  This results in early expiration of the
      queue.
      
      This patch fixes the problem by adding a check to see if queue already
      has requests. If it does, wait_busy is not set. As a result, time slices
      do not expire early.
      
      The queues with more than one request are usually buffered writers.
      Testing shows improvement in isolation between buffered writers.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarJustin TerAvest <teravest@google.com>
      Reviewed-by: default avatarGui Jianfeng <guijianfeng@cn.fujitsu.com>
      Acked-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Signed-off-by: default avatarJens Axboe <jaxboe@fusionio.com>
      02a8f01b
  2. 08 Feb, 2011 2 commits
    • Krzysztof Wojcik's avatar
      FIX: md: process hangs at wait_barrier after 0->10 takeover · 02214dc5
      Krzysztof Wojcik authored
      Following symptoms were observed:
      1. After raid0->raid10 takeover operation we have array with 2
      missing disks.
      When we add disk for rebuild, recovery process starts as expected
      but it does not finish- it stops at about 90%, md126_resync process
      hangs in "D" state.
      2. Similar behavior is when we have mounted raid0 array and we
      execute takeover to raid10. After this when we try to unmount array-
      it causes process umount hangs in "D"
      
      In scenarios above processes hang at the same function- wait_barrier
      in raid10.c.
      Process waits in macro "wait_event_lock_irq" until the
      "!conf->barrier" condition will be true.
      In scenarios above it never happens.
      
      Reason was that at the end of level_store, after calling pers->run,
      we call mddev_resume. This calls pers->quiesce(mddev, 0) with
      RAID10, that calls lower_barrier.
      However raise_barrier hadn't been called on that 'conf' yet,
      so conf->barrier becomes negative, which is bad.
      
      This patch introduces setting conf->barrier=1 after takeover
      operation. It prevents to become barrier negative after call
      lower_barrier().
      Signed-off-by: default avatarKrzysztof Wojcik <krzysztof.wojcik@intel.com>
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      02214dc5
    • Linus Torvalds's avatar
      Linux 2.6.38-rc4 · 100b33c8
      Linus Torvalds authored
      100b33c8
  3. 07 Feb, 2011 29 commits
  4. 06 Feb, 2011 5 commits