30 Jul, 2007

1 commit

  • * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (28 commits)
    [SCSI] mpt fusion: Changes in mptctl.c for logging support
    [SCSI] mpt fusion: Changes in mptfc.c mptlan.c mptsas.c and mptspi.c for logging support
    [SCSI] mpt fusion: Changes in mptscsih.c for logging support
    [SCSI] mpt fusion: Changes in mptbase.c for logging support
    [SCSI] mpt fusion: logging support in Kconfig, Makefile, mptbase.h and addition of mptdebug.h
    [SCSI] libsas: Fix potential NULL dereference in sas_smp_get_phy_events()
    [SCSI] bsg: Fix build for CONFIG_BLOCK=n
    [SCSI] aacraid: fix Sunrise Lake reset handling
    [SCSI] aacraid: add SCSI SYNCHONIZE_CACHE range checking
    [SCSI] add easyRAID to the no report luns blacklist
    [SCSI] advansys: lindent and other large, uninteresting changes
    [SCSI] aic79xx, aic7xxx: Fix incorrect width setting
    [SCSI] qla2xxx: fix to honor ignored parameters in sysfs attributes
    [SCSI] aacraid: draw line in sand, sundry cleanup and version update
    [SCSI] iscsi_tcp: Turn off bounce buffers
    [SCSI] libiscsi: fix cmd seqeunce number checking
    [SCSI] iscsi_tcp, ib_iser Enable module refcounting for iscsi host template
    [SCSI] libiscsi: make sure session is not blocked when removing host
    [SCSI] libsas: Remove PCI dependencies
    [SCSI] simscsi: convert to use the data buffer accessors
    ...

    Linus Torvalds
     

28 Jul, 2007

1 commit

  • BLK_DEV_BSG was added outside of the if BLOCK check, which allows it to
    be enabled when CONFIG_BLOCK=n. This leads to many screenlengths of
    errors, starting with a parse error on the request_queue_t definition.
    Obviously this wasn't intended for CONFIG_BLOCK=n usage, so just move the
    option back in to the block.

    Caught with a randconfig on sh.

    Signed-off-by: Paul Mundt
    Acked-by: Jens Axboe
    Acked-by: FUJITA Tomonori
    Signed-off-by: James Bottomley

    Paul Mundt
     

27 Jul, 2007

2 commits

  • use cpu_clock() instead of sched_clock(). (the latter is not a proper
    clock-source)

    Signed-off-by: Ingo Molnar
    Signed-off-by: Jens Axboe

    Ingo Molnar
     
  • BLK_DEV_BSG was added outside of the if BLOCK check, which allows it to
    be enabled when CONFIG_BLOCK=n. This leads to many screenlengths of
    errors, starting with a parse error on the request_queue_t definition.
    Obviously this wasn't intended for CONFIG_BLOCK=n usage, so just move the
    option back in to the block.

    Caught with a randconfig on sh.

    Signed-off-by: Paul Mundt

    --

    block/Kconfig | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)
    Signed-off-by: Jens Axboe

    Paul Mundt
     

24 Jul, 2007

3 commits


23 Jul, 2007

1 commit

  • * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (60 commits)
    [SCSI] libsas: make ATA functions selectable by a config option
    [SCSI] bsg: unexport sg v3 helper functions
    [SCSI] bsg: fix bsg_unregister_queue
    [SCSI] bsg: make class backlinks
    [SCSI] 3w-9xxx: add support for 9690SA
    [SCSI] bsg: fix bsg_register_queue error path
    [SCSI] ESP: Increase ESP_BUS_TIMEOUT to 275.
    [SCSI] libsas: fix scr_read/write users and update the libata documentation
    [SCSI] mpt fusion: update Kconfig help
    [SCSI] scsi_transport_sas: add destructor for bsg
    [SCSI] iscsi_tcp: buggered kmalloc()
    [SCSI] qla2xxx: Update version number to 8.02.00-k2.
    [SCSI] qla2xxx: Add ISP25XX support.
    [SCSI] qla2xxx: Use pci_try_set_mwi().
    [SCSI] qla2xxx: Use PCI-X/PCI-Express read control interfaces.
    [SCSI] qla2xxx: Re-factor isp_operations to static structures.
    [SCSI] qla2xxx: Validate mid-layer 'underflow' during check-condition handling.
    [SCSI] qla2xxx: Correct setting of 'current' and 'supported' speeds during FDMI registration.
    [SCSI] qla2xxx: Generalize iIDMA support.
    [SCSI] qla2xxx: Generalize FW-Interface-2 support.
    ...

    Linus Torvalds
     

22 Jul, 2007

1 commit


21 Jul, 2007

3 commits

  • scsi_sysfs_add_sdev ignores the bsg_register_queue failure, so
    bsg_unregister_queue must check whether the queue has a bsg device.

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • Currently, bsg doesn't make class backlinks (a process whereby you'd get
    a link to bsg in the device directory in the same way you get one for
    sg). This is because the bsg device is uninitialised, so the class
    device has nothing it can attach to. The fix is to make the bsg device
    point to the cdevice of the entity creating the bsg, necessitating
    changing the bsg_register_queue() prototype into a form that takes the
    generic device.

    Acked-by: FUJITA Tomonori
    Signed-off-by: James Bottomley

    James Bottomley
     
  • unfortunately, if IS_ERR(class_dev) is true, that means class_dev isn't
    null and the check in the error leg is pointless ... it's also asking
    for trouble to request unregistration of a device we haven't actually
    created (although it works currently). Fix by using explicit gotos and
    unregisters.

    Acked-by: FUJITA Tomonori
    Signed-off-by: James Bottomley

    James Bottomley
     

20 Jul, 2007

5 commits

  • There are some leftover bits from the task cooperator patch, that was
    yanked out again. While it will get reintroduced, no point in having
    this write-only stuff in the tree. So yank it.

    Signed-off-by: Jens Axboe

    Alexey Dobriyan
     
  • If we have two processes with different ioprio_class, but the same
    ioprio_data, their async requests will fall into the same queue. I guess
    such behavior is not expected, because it's not right to put real-time
    requests and best-effort requests in the same queue.

    The attached patch fixes the problem by introducing additional *cfqq
    fields on cfqd, pointing to per-(class,priority) async queues.

    Signed-off-by: Jens Axboe

    Vasily Tarasov
     
  • Slab destructors were no longer supported after Christoph's
    c59def9f222d44bb7e2f0a559f2906191a0862d7 change. They've been
    BUGs for both slab and slub, and slob never supported them
    either.

    This rips out support for the dtor pointer from kmem_cache_create()
    completely and fixes up every single callsite in the kernel (there were
    about 224, not including the slab allocator definitions themselves,
    or the documentation references).

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • This patch moves the bsg registration into SCSI so that bsg no longer
    has a dependency on the scsi_interface_register API.

    This can be viewed as a temporary expedient until we can get universal
    bsg binding sorted out properly. Also use the sdev bus_id as the
    generic bsg name (to avoid clashes with the queue name).

    Acked-by: FUJITA Tomonori
    Acked-by: Jens Axboe
    Signed-off-by: James Bottomley

    James Bottomley
     
  • Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc).

    Here is a short excerpt of the semantic patch performing
    this transformation:

    @@
    type T2;
    expression x;
    identifier f,fld;
    expression E;
    expression E1,E2;
    expression e1,e2,e3,y;
    statement S;
    @@

    x =
    - kmalloc
    + kzalloc
    (E1,E2)
    ... when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\)
    - memset((T2)x,0,E1);

    @@
    expression E1,E2,E3;
    @@

    - kzalloc(E1 * E2,E3)
    + kcalloc(E1,E2,E3)

    [akpm@linux-foundation.org: get kcalloc args the right way around]
    Signed-off-by: Yoann Padioleau
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Acked-by: Russell King
    Cc: Bryan Wu
    Acked-by: Jiri Slaby
    Cc: Dave Airlie
    Acked-by: Roland Dreier
    Cc: Jiri Kosina
    Acked-by: Dmitry Torokhov
    Cc: Benjamin Herrenschmidt
    Acked-by: Mauro Carvalho Chehab
    Acked-by: Pierre Ossman
    Cc: Jeff Garzik
    Cc: "David S. Miller"
    Acked-by: Greg KH
    Cc: James Bottomley
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoann Padioleau
     

18 Jul, 2007

4 commits

  • * 'bsg' of git://git.kernel.dk/data/git/linux-2.6-block:
    bsg: fix missing space in version print
    Don't define empty struct bsg_class_device if !CONFIG_BLK_DEV_BSG
    bsg: Kconfig updates
    bsg: minor cleanup
    bsg: device hash table cleanup
    bsg: fix initialization error handling bugs
    bsg: mark FUJITA Tomonori as bsg maintainer
    bsg: convert to dynamic major
    bsg: address various review comments

    Linus Torvalds
     
  • Put WARN_ON and fixed all callers of unregister_blkdev(). Now we can make
    unregister_blkdev return void.

    Cc: Jens Axboe
    Signed-off-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • When unregister_blkdev() has failed, something wrong happened. This patch
    adds WARN_ON to notify of such badness.

    Cc: Jens Axboe
    Signed-off-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • kmalloc_node() and kmem_cache_alloc_node() were not available in a zeroing
    variant in the past. But with __GFP_ZERO it is possible now to do zeroing
    while allocating.

    Use __GFP_ZERO to remove the explicit clearing of memory via memset whereever
    we can.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     

17 Jul, 2007

9 commits


16 Jul, 2007

10 commits

  • This updates bsg entry in Kconfig:

    - bsg supports sg v4
    - bsg depends on SCSI
    - it might be better to mark it experimental for a while

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     
  • This enables bsg to handle SCSI transport-level request like SAS
    management protocol (SMP).

    - add BSG_SUB_PROTOCOL_{SCSI_CMD, SCSI_TMF, SCSI_TRANSPORT} definitions.
    - SCSI transport-level requests skip blk_verify_command().

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     
  • bsg uses the rq->next_rq pointer for a bidi request.

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     
  • This adds a struct request pointer to the request structure for the
    second data phase (bidi for now). A request queue supporting bidi
    requests sets QUEUE_FLAG_BIDI. This prevents sending bidi requests to
    a non-bidi queue.

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     
  • The previous commit introduced a deadlock in discarding commands,
    because we forget to unlock the bd spinlock.

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     
  • This patch fixes a bug that read() returns ENODATA even with a
    blocking file descriptor when there are no commands pending.

    This also includes some cleanups.

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     
  • This fixes the following minor issues:

    - add EXPORT_SYMBOL_GPL for bsg_register_queue and
    bsg_unregister_queue.

    - shut up gcc warnings

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     
  • This patch addresses on two issues on bsg device allocation.

    - the current maxium number of bsg devices is 256. It's too small if
    we allocate bsg devices to all SCSI devices, transport entities, etc.
    This increses the maxium number to 32768 (taken from the sg driver).

    - SCSI devices are dynamically added and removed. Currently, bsg can't
    handle it well since bsd_device->minor is simply increased.

    This is dependent on the patchset that I posted yesterday:

    http://marc.info/?l=linux-scsi&m=117440208726755&w=2

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     
  • This patch binds bsg to all SCSI devices (their request queues) like
    the current sg driver does. We can send SCSI commands to non disk and
    cdrom scsi devices like OSD via bsg.

    This patch removes bsg_register_queue from blk_register_queue so bsg
    devices aren't bound to non SCSI block devices. If they want bsg, I'll
    send a patch to do that.

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     
  • This patch binds bsg devices to request_queue instead of gendisk. Any
    objects (like transport entities) can define own request_handler and
    create own bsg device.

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Jens Axboe

    FUJITA Tomonori