1. 11 9月, 2009 1 次提交
  2. 09 9月, 2009 1 次提交
    • E
      aoe: allocate unused request_queue for sysfs · 7135a71b
      Ed Cashin 提交于
      Andy Whitcroft reported an oops in aoe triggered by use of an
      incorrectly initialised request_queue object:
      
        [ 2645.959090] kobject '<NULL>' (ffff880059ca22c0): tried to add
      		an uninitialized object, something is seriously wrong.
        [ 2645.959104] Pid: 6, comm: events/0 Not tainted 2.6.31-5-generic #24-Ubuntu
        [ 2645.959107] Call Trace:
        [ 2645.959139] [<ffffffff8126ca2f>] kobject_add+0x5f/0x70
        [ 2645.959151] [<ffffffff8125b4ab>] blk_register_queue+0x8b/0xf0
        [ 2645.959155] [<ffffffff8126043f>] add_disk+0x8f/0x160
        [ 2645.959161] [<ffffffffa01673c4>] aoeblk_gdalloc+0x164/0x1c0 [aoe]
      
      The request queue of an aoe device is not used but can be allocated in
      code that does not sleep.
      
      Bruno bisected this regression down to
      
        cd43e26f
      
        block: Expose stacked device queues in sysfs
      
      "This seems to generate /sys/block/$device/queue and its contents for
       everyone who is using queues, not just for those queues that have a
       non-NULL queue->request_fn."
      
      Addresses http://bugs.launchpad.net/bugs/410198
      Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13942
      
      Note that embedding a queue inside another object has always been
      an illegal construct, since the queues are reference counted and
      must persist until the last reference is dropped. So aoe was
      always buggy in this respect (Jens).
      Signed-off-by: NEd Cashin <ecashin@coraid.com>
      Cc: Andy Whitcroft <apw@canonical.com>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: Bruno Premont <bonbons@linux-vserver.org>
      Cc: Martin K. Petersen <martin.petersen@oracle.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      7135a71b
  3. 28 7月, 2009 4 次提交
  4. 19 7月, 2009 1 次提交
    • R
      virtio_blk: mark virtio_blk with __refdata to kill spurious section mismatch · 4fbfff76
      Rakib Mullick 提交于
      The variable virtio_blk references the function virtblk_probe() (which
      is in .devinit section) and also references the function
      virtblk_remove() ( which is in .devexit section). So, virtio_blk
      simultaneously refers .devinit and .devexit section. To avoid this
      messup, we mark virtio_blk as __refdata.
      
      We were warned by the following warning:
      
        LD      drivers/block/built-in.o
        WARNING: drivers/block/built-in.o(.data+0xc8dc): Section mismatch in
        reference from the variable virtio_blk to the function
        .devinit.text:virtblk_probe()
        The variable virtio_blk references
        the function __devinit virtblk_probe()
        If the reference is valid then annotate the
        variable with __init* or __refdata (see linux/init.h) or name the variable:
        *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
      
        WARNING: drivers/block/built-in.o(.data+0xc8e0): Section mismatch in
        reference from the variable virtio_blk to the function
        .devexit.text:virtblk_remove()
        The variable virtio_blk references
        the function __devexit virtblk_remove()
        If the reference is valid then annotate the
        variable with __exit* (see linux/init.h) or name the variable:
        *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
      Signed-off-by: NRakib Mullick <rakib.mullick@gmail.com>
      Signed-off-by: NTejun Heo <tj@kernel.org>
      4fbfff76
  5. 17 7月, 2009 3 次提交
  6. 15 7月, 2009 1 次提交
  7. 13 7月, 2009 1 次提交
  8. 11 7月, 2009 1 次提交
  9. 09 7月, 2009 1 次提交
  10. 04 7月, 2009 1 次提交
    • H
      cciss: Ignore stale commands after reboot · b59e64d0
      Hannes Reinecke 提交于
      When doing an unexpected shutdown like kexec the cciss
      firmware might still have some commands in flight, which
      it is trying to complete.
      The driver is doing it's best on resetting the HBA,
      but sadly there's a firmware issue causing the firmware
      _not_ to abort or drop old commands.
      So the firmware will send us commands which we haven't
      accounted for, causing the driver to panic.
      
      With this patch we're just ignoring these commands as
      there is nothing we could be doing with them anyway.
      Signed-off-by: NHannes Reinecke <hare@suse.de>
      Acked-by: NMike Miller <mike.miller@hp.com>
      Signed-off-by: NJens Axboe <axboe@carl.(none)>
      b59e64d0
  11. 01 7月, 2009 1 次提交
  12. 24 6月, 2009 2 次提交
    • B
      osdblk: Adjust queue limits to lower device's limits · bc47df0f
      Boaz Harrosh 提交于
      call blk_queue_stack_limits() to copy queue limits from
      the underline osd scsi_device. This is absolutely needed
      because osdblk cannot sleep when allocating a lower-request and
      therefore cannot be bouncing.
      
      TODO: Dynamic changes of limits to the lower device queue
      will not reflect in the upper driver
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      bc47df0f
    • J
      osdblk: a Linux block device for OSD objects · 2a13877c
      Jeff Garzik 提交于
      Submitted driver exports a block device of the form /dev/osdblkX,
      where X is a decimal number.
      
      It does that by mounting a stacking block device on top
      of an osd object. For example, if you create a 2G object
      on an OSD device, you can then use this module to present
      that 2G object as a Linux block device.
      
      See inside patch for exact documentation.
      
      [Sitting at linux-next helped fix proper Kconfig dependency
       for this driver, thanks to Randy Dunlap]
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      2a13877c
  13. 18 6月, 2009 1 次提交
  14. 16 6月, 2009 7 次提交
  15. 15 6月, 2009 10 次提交
  16. 13 6月, 2009 1 次提交
  17. 12 6月, 2009 3 次提交