02 Mar, 2011

1 commit

  • __blk_run_queue() automatically either calls q->request_fn() directly
    or schedules kblockd depending on whether the function is recursed.
    blk-flush implementation needs to be able to explicitly choose
    kblockd. Add @force_kblockd.

    All the current users are converted to specify %false for the
    parameter and this patch doesn't introduce any behavior change.

    stable: This is prerequisite for fixing ide oops caused by the new
    blk-flush implementation.

    Signed-off-by: Tejun Heo
    Cc: Jan Beulich
    Cc: James Bottomley
    Cc: stable@kernel.org
    Signed-off-by: Jens Axboe

    Tejun Heo
     

16 Feb, 2011

1 commit

  • If the target device gets lost, this fix is needed, as it causes
    negative unintended responses on basic I/O tests. If the target device
    gets lost, the upstream qla2xxx driver returns
    SCSI_MLQUEUE_TARGET_BUSY which causes an immediate retry without drop
    in the number of allowed retries. This semantic change, as a result of
    removing FC_DEVICE_LOST check is reasonable, as it only extends a
    short transitional period, until the transport is called to notify
    that the rport as lost (fc_remote_port_delete()). Once transport
    notification is done, fc_remote_port_chkready() check will take over.

    Signed-off-by: Andrew Vasquez
    Signed-off-by: Madhuranath Iyengar
    Signed-off-by: James Bottomley

    Andrew Vasquez
     

13 Feb, 2011

3 commits


25 Jan, 2011

2 commits


24 Jan, 2011

6 commits

  • Issue:
    IR shutdown(sending) and IR shutdown(complete) messages not
    listed in /var/log/messages when driver is removed.

    The driver needs to issue a MPI2_RAID_ACTION_SYSTEM_SHUTDOWN_INITIATED
    request when the driver is unloaded so the IR metadata journal is updated.
    If this request is not sent, then the volume would need a "check
    consistency" issued on the next bootup if the volume was roamed from one
    initiator to another. The current driver supports this feature only when the
    system is rebooted, however this also need to be supported if the driver is
    unloaded

    Fix:
    To fix this issue, the driver is going
    to need to call the _scsih_ir_shutdown prior to reporting
    the volumes missing from the OS, hence the device handles
    are still present.

    Signed-off-by: Kashyap Desai
    Cc: stable@kernel.org
    Signed-off-by: James Bottomley

    Kashyap, Desai
     
  • There was a configuration page timing out during the initial port
    enable at driver load time. The port enable would fail, and this would
    result in the driver unloading itself, meanwhile the driver was accessing
    freed memory in another context resulting in the panic. The fix is to
    prevent access to freed memory once the driver had issued the diag reset
    which woke up the sleeping port enable process. The routine
    _base_reset_handler was reorganized so the last sleeping process woken up was
    the port_enable.

    Signed-off-by: Kashyap Desai
    Cc: stable@kernel.org
    Signed-off-by: James Bottomley

    Kashyap, Desai
     
  • False timeout after hard resets, there were two issues which leads
    to timeout.
    (1) Panic because of invalid memory access in the broadcast asyn
    event processing routine due to a race between accessing the scsi command
    pointer from broadcast asyn event processing thread and completing
    the same scsi command from the interrupt context.
    (2) Broadcast asyn event notifcations are not handled due to events
    ignored while the broadcast asyn event is activity being processed
    from the event process kernel thread.

    In addition, changed the ABRT_TASK_SET to ABORT_TASK in the
    broadcast async event processing routine. This is less disruptive to other
    request that generate Broadcast Asyn Primitives besides target
    reset. e.g clear reservations, microcode download,and mode select.

    Signed-off-by: Kashyap Desai
    Cc: stable@kernel.org
    Signed-off-by: James Bottomley

    Kashyap, Desai
     
  • The ioc->hba_queue_depth is not properly resized when the controller
    firmware reports that it supports more outstanding IO than what can be fit
    inside the reply descriptor pool depth. This is reproduced by setting the
    controller global credits larger than 30,000. The bug results in an
    incorrect sizing of the queues. The fix is to resize the queue_size by
    dividing queue_diff by two.

    Signed-off-by: Kashyap Desai
    Cc: stable@kernel.org
    Signed-off-by: James Bottomley

    Kashyap, Desai
     
  • The "internal device reset complete" event is not supported
    for older firmware prior to MPI Rev K We added
    a check in the driver so the "internal device reset" event is
    ignored for older firmware. When ignored, the tm_busy flag doesn't
    get set nor cleared. Without this fix, IO queues would be froozen
    indefinetly after the "internal device reset" event, as the "complete" event
    never sent to clear the flag.

    Signed-off-by: Kashyap Desai
    Cc: stable@kernel.org
    Signed-off-by: James Bottomley

    Kashyap, Desai
     
  • When zoning end devices, the driver is not sending device
    removal handshake alogrithm to firmware. This results in controller
    firmware not sending sas topology add events the next time the device is
    added. The fix is the driver should be doing the device removal handshake
    even though the PHYSTATUS_VACANT bit is set in the PhyStatus of the
    event data. The current design is avoiding the handshake when the
    VACANT bit is set in the phy status.

    Signed-off-by: Kashyap Desai
    Cc: stable@kernel.org
    Signed-off-by: James Bottomley

    Kashyap, Desai
     

15 Jan, 2011

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-post-merge-2.6:
    [SCSI] target: Add LIO target core v4.0.0-rc6
    [SCSI] sd,sr: kill compat SDEV_MEDIA_CHANGE event
    [SCSI] sd: implement sd_check_events()

    Linus Torvalds
     
  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI/PM: Report wakeup events before resuming devices
    PCI/PM: Use pm_wakeup_event() directly for reporting wakeup events
    PCI: sysfs: Update ROM to include default owner write access
    x86/PCI: make Broadcom CNB20LE driver EMBEDDED and EXPERIMENTAL
    x86/PCI: don't use native Broadcom CNB20LE driver when ACPI is available
    PCI/ACPI: Request _OSC control once for each root bridge (v3)
    PCI: enable pci=bfsort by default on future Dell systems
    PCI/PCIe: Clear Root PME Status bits early during system resume
    PCI: pci-stub: ignore zero-length id parameters
    x86/PCI: irq and pci_ids patch for Intel Patsburg
    PCI: Skip id checking if no id is passed
    PCI: fix __pci_device_probe kernel-doc warning
    PCI: make pci_restore_state return void
    PCI: Disable ASPM if BIOS asks us to
    PCI: Add mask bit definition for MSI-X table
    PCI: MSI: Move MSI-X entry definition to pci_regs.h

    Fix up trivial conflicts in drivers/net/{skge.c,sky2.c} that had in the
    meantime been converted to not use legacy PCI power management, and thus
    no longer use pci_restore_state() at all (and that caused trivial
    conflicts with the "make pci_restore_state return void" patch)

    Linus Torvalds
     

14 Jan, 2011

4 commits

  • SDEV_MEDIA_CHANGE event was first added by commit a341cd0f (SCSI: add
    asynchronous event notification API) for SATA AN support and then
    extended to cover generic media change events by commit 285e9670
    ([SCSI] sr,sd: send media state change modification events).

    This event was mapped to block device in userland with all properties
    stripped to simulate CHANGE event on the block device, which, in turn,
    was used to trigger further userspace action on media change.

    The recent addition of disk event framework kept this event for
    backward compatibility but it turns out to be unnecessary and causes
    erratic and inefficient behavior. The new disk event generates proper
    events on the block devices and the compat events are mapped to block
    device with all properties stripped, so the block device ends up
    generating multiple duplicate events for single actual event.

    This patch removes the compat event generation from both sr and sd as
    suggested by Kay Sievers. Both existing and newer versions of udev
    and the associated tools will behave better with the removal of these
    events as they from the beginning were expecting events on the block
    devices.

    Signed-off-by: Tejun Heo
    Acked-by: Kay Sievers
    Signed-off-by: James Bottomley

    Tejun Heo
     
  • Replace sd_media_change() with sd_check_events().

    * Move media removed logic into set_media_not_present() and
    media_not_present() and set sdev->changed iff an existing media is
    removed or the device indicates UNIT_ATTENTION.

    * Make sd_check_events() sets sdev->changed if previously missing
    media becomes present.

    * Event is reported only if sdev->changed is set.

    This makes media presence event reported if scsi_disk->media_present
    actually changed or the device indicated UNIT_ATTENTION. For backward
    compatibility, SDEV_EVT_MEDIA_CHANGE is generated each time
    sd_check_events() detects media change event.

    [jejb: fix boot failure]
    Signed-off-by: Tejun Heo
    Acked-by: Jens Axboe
    Signed-off-by: James Bottomley

    Tejun Heo
     
  • * 'for-2.6.38/core' of git://git.kernel.dk/linux-2.6-block: (43 commits)
    block: ensure that completion error gets properly traced
    blktrace: add missing probe argument to block_bio_complete
    block cfq: don't use atomic_t for cfq_group
    block cfq: don't use atomic_t for cfq_queue
    block: trace event block fix unassigned field
    block: add internal hd part table references
    block: fix accounting bug on cross partition merges
    kref: add kref_test_and_get
    bio-integrity: mark kintegrityd_wq highpri and CPU intensive
    block: make kblockd_workqueue smarter
    Revert "sd: implement sd_check_events()"
    block: Clean up exit_io_context() source code.
    Fix compile warnings due to missing removal of a 'ret' variable
    fs/block: type signature of major_to_index(int) to major_to_index(unsigned)
    block: convert !IS_ERR(p) && p to !IS_ERR_NOR_NULL(p)
    cfq-iosched: don't check cfqg in choose_service_tree()
    fs/splice: Pull buf->ops->confirm() from splice_from_pipe actors
    cdrom: export cdrom_check_events()
    sd: implement sd_check_events()
    sr: implement sr_check_events()
    ...

    Linus Torvalds
     
  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)
    Documentation/trace/events.txt: Remove obsolete sched_signal_send.
    writeback: fix global_dirty_limits comment runtime -> real-time
    ppc: fix comment typo singal -> signal
    drivers: fix comment typo diable -> disable.
    m68k: fix comment typo diable -> disable.
    wireless: comment typo fix diable -> disable.
    media: comment typo fix diable -> disable.
    remove doc for obsolete dynamic-printk kernel-parameter
    remove extraneous 'is' from Documentation/iostats.txt
    Fix spelling milisec -> ms in snd_ps3 module parameter description
    Fix spelling mistakes in comments
    Revert conflicting V4L changes
    i7core_edac: fix typos in comments
    mm/rmap.c: fix comment
    sound, ca0106: Fix assignment to 'channel'.
    hrtimer: fix a typo in comment
    init/Kconfig: fix typo
    anon_inodes: fix wrong function name in comment
    fix comment typos concerning "consistent"
    poll: fix a typo in comment
    ...

    Fix up trivial conflicts in:
    - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)
    - fs/ext4/ext4.h

    Also fix missed 'diabled' typo in drivers/net/bnx2x/bnx2x.h while at it.

    Linus Torvalds
     

11 Jan, 2011

1 commit

  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    pata_platform: Remove CONFIG_HAVE_PATA_PLATFORM's dependencies.
    pata_hpt37x: actually limit HPT370 to UltraDMA/66
    pata_hpt3x2n: coding style cleanup
    pata_hpt37x: coding style cleanup
    pata_hpt366: coding style cleanup
    pata_hpt3x2n: calculate average f_CNT
    pata_hpt3x2n: clarify about HPT371N support
    pata_hpt{37x|3x2n}: SATA mode filtering
    [libata] avoid needlessly passing around ptr to SCSI completion func
    [libata] new driver acard_ahci, for ATP8620 host controller

    Linus Torvalds
     

08 Jan, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (147 commits)
    [SCSI] arcmsr: fix write to device check
    [SCSI] lpfc: lower stack use in lpfc_fc_frame_check
    [SCSI] eliminate an unnecessary local variable from scsi_remove_target()
    [SCSI] libiscsi: use bh locking instead of irq with session lock
    [SCSI] libiscsi: do not take host lock in queuecommand
    [SCSI] be2iscsi: fix null ptr when accessing task hdr
    [SCSI] be2iscsi: fix gfp use in alloc_pdu
    [SCSI] libiscsi: add more informative failure message during iscsi scsi eh
    [SCSI] gdth: Add missing call to gdth_ioctl_free
    [SCSI] bfa: remove unused defintions and misc cleanups
    [SCSI] bfa: remove inactive functions
    [SCSI] bfa: replace bfa_assert with WARN_ON
    [SCSI] qla2xxx: Use sg_next to fetch next sg element while walking sg list.
    [SCSI] qla2xxx: Fix to avoid recursive lock failure during BSG timeout.
    [SCSI] qla2xxx: Remove code to not reset ISP82xx on failure.
    [SCSI] qla2xxx: Display mailbox register 4 during 8012 AEN for ISP82XX parts.
    [SCSI] qla2xxx: Don't perform a BIG_HAMMER if Get-ID (0x20) mailbox command fails on CNAs.
    [SCSI] qla2xxx: Remove redundant module parameter permission bits
    [SCSI] qla2xxx: Add sysfs node for displaying board temperature.
    [SCSI] qla2xxx: Code cleanup to remove unwanted comments and code.
    ...

    Linus Torvalds
     

06 Jan, 2011

1 commit


04 Jan, 2011

3 commits


03 Jan, 2011

1 commit


31 Dec, 2010

9 commits


27 Dec, 2010

1 commit


25 Dec, 2010

1 commit


24 Dec, 2010

3 commits