11 Aug, 2010

1 commit


28 Jul, 2010

1 commit


28 May, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6:
    [SCSI] fix race in scsi_target_reap
    [SCSI] aacraid: Eliminate use after free
    [SCSI] arcmsr: Support HW reset for EH and polling scheme for scsi device
    [SCSI] bfa: fix system crash when reading sysfs fc_host statistics
    [SCSI] iscsi_tcp: remove sk_sleep check
    [SCSI] ipr: improve interrupt service routine performance
    [SCSI] ipr: set the data list length in the request control block
    [SCSI] ipr: fix a register read to use the correct address for 64 bit adapters
    [SCSI] ipr: include the resource path in the IOA status area structure
    [SCSI] ipr: implement fixes for 64 bit adapter support
    [SCSI] be2iscsi: correct return value in mgmt_invalidate_icds()

    Linus Torvalds
     

25 May, 2010

1 commit

  • The debugging code using the freed structure is moved before the kfree.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @free@
    expression E;
    position p;
    @@
    kfree@p(E)

    @@
    expression free.E, subE

    Signed-off-by: Julia Lawall
    Signed-off-by: James Bottomley

    Julia Lawall
     

24 May, 2010

1 commit

  • * 'bkl/ioctl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:
    uml: Pushdown the bkl from harddog_kern ioctl
    sunrpc: Pushdown the bkl from sunrpc cache ioctl
    sunrpc: Pushdown the bkl from ioctl
    autofs4: Pushdown the bkl from ioctl
    uml: Convert to unlocked_ioctls to remove implicit BKL
    ncpfs: BKL ioctl pushdown
    coda: Clean-up whitespace problems in pioctl.c
    coda: BKL ioctl pushdown
    drivers: Push down BKL into various drivers
    isdn: Push down BKL into ioctl functions
    scsi: Push down BKL into ioctl functions
    dvb: Push down BKL into ioctl functions
    smbfs: Push down BKL into ioctl function
    coda/psdev: Remove BKL from ioctl function
    um/mmapper: Remove BKL usage
    sn_hwperf: Kill BKL usage
    hfsplus: Push down BKL into ioctl function

    Linus Torvalds
     

17 May, 2010

6 commits

  • Push down the bkl into ioctl functions on the scsi layer.

    [jkacur: Forward declaration missing ';'.
    Conflicting declaraction in megaraid.h changed
    Fixed missing inodes declarations]

    Signed-off-by: Arnd Bergmann
    Signed-off-by: John Kacur
    Signed-off-by: Frederic Weisbecker

    Arnd Bergmann
     
  • Problem description:
    --------------------

    The problem reported by one of the customer was when a logical array
    is deleted(from the SDK, from the GUI, from arcconf) then the
    corresponding physical device (/dev/sdb, for example) is not removed
    from the Linux namespace. So you end up with a "dead" device
    entry. And some of the linux tools go slightly wonky.

    Solution:
    ---------

    Based on the notification from FW, the driver calls
    "scsi_remove_device" for the DELETED drive. This call not only informs
    the scsi device status to the SCSI mid layer and also it will remove
    corresponding scsi device entries from the Linux sysfs.

    Signed-off-by: Mahesh Rajashekhara
    Signed-off-by: James Bottomley

    Rajashekhara, Mahesh
     
  • Problem description:
    --------------------

    The issue reported by one of the customer was able to read LBA beyond
    the array reported size with "sg_read" utility. If N is the last block
    address reported, then should not be able to read past N,
    i.e. N+1. But in their case, reported last LBA=143134719. So should
    not have been able to read with LBA=143134720, but it is read without
    failure, which means reported size to the OS is not correct and is
    less than the actual last block address.

    Solution:
    ---------

    Firmware layer exposes lesser container capacity than the actual
    one. It exposes [Actual size - Spitfire space(10MB)] to the OS, IO's
    to the 10MB should be prohibited from the Linux driver. Driver checks
    LBA boundary, if its greater than the array reported size then sets
    sensekey to HARDWARE_ERROR and sends the notification to the MID
    layer.

    Signed-off-by: Mahesh Rajashekhara
    Signed-off-by: James Bottomley

    Rajashekhara, Mahesh
     
  • There are two conditions for ATA pass thru command that falls into
    'SRB_STATUS_ERROR' condition.

    1. When the "CC" bit is set by the host in ATA pass-through CDB

    - Even for the successful completion, SCSI target shall generate
    check condition.

    - Driver returns a result code of SAM_STAT_CHECK_CONDITION, with a
    driver byte of DID_OK to the mid layer.

    Below is the snippet of existing code which fills a result code
    of SAM_STAT_CHECK_CONDITION:

    ***********************************
    if (le32_to_cpu(srbreply->scsi_status) == SAM_STAT_CHECK_CONDITION) {
    int len;
    scsicmd->result |= SAM_STAT_CHECK_CONDITION;
    ..........
    ************************************

    2. When the "CC" bit is reset by the host and if SCSI target generates
    a check condition when an error occurs.

    - Driver returns a result code of SAM_STAT_CHECK_CONDITION, with a
    driver byte of DID_ERROR to the mid layer.

    Signed-off-by: Mahesh Rajashekhara
    Signed-off-by: James Bottomley

    Rajashekhara, Mahesh
     
  • The default driver setting is "expose_physicals=0", which means raw
    physical drives are not exposed to OS. If the user wants to expose
    connected physical drives, enable "expose_physicals" module parameter.
    With the new JBOD firmware, physical drives are not available for
    "expose_physicals>0". In function "aac_expose_phy_device", modified
    to reset the appropriate bit in the first byte of inquiry data. This
    fix exposes the connected physical drives.

    Signed-off-by: Mahesh Rajashekhara
    Signed-off-by: James Bottomley

    Rajashekhara, Mahesh
     
  • Problem description:
    --------------------

    When the JBOD is created from the OS using Adaptec Storage Manager
    utility device is not available under FDISK until a system restart is
    done.

    Solution:
    ---------

    AIF handling: If there is a JBOD drive added to the system, identify
    the old one with scsi_device_lookup() and remove it to enable a fresh
    scsi_add_device(); else the new JBOD is not available until reboot.

    Signed-off-by: Mahesh Rajashekhara
    Signed-off-by: James Bottomley

    Rajashekhara, Mahesh
     

30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

18 Jan, 2010

1 commit

  • These particular problems were reported by Cisco and SAP and customers
    as well. Cisco reported on RHEL4 U6 and SAP reported on SLES9 SP4 and
    SLES10 SP2. We added these fixes on RHEL4 U6 and gave a private build
    to IBM and Cisco. Cisco and IBM tested it for more than 15 days and
    they reported that they did not see the issue so far. Before the fix,
    Cisco used to see the issue within 5 days. We generated a patch for
    SLES9 SP4 and SLES10 SP2 and submitted to Novell. Novell applied the
    patch and gave a test build to SAP. SAP tested and reported that the
    build is working properly.

    We also tested in our lab using the tools "dishogsync", which is IO
    stress tool and the tool was provided by Cisco.

    Issue1: File System going into read-only mode

    Root cause: The driver tends to not free the memory (FIB) when the
    management request exits prematurely. The accumulation of such
    un-freed memory causes the driver to fail to allocate anymore memory
    (FIB) and hence return 0x70000 value to the upper layer, which puts
    the file system into read only mode.

    Fix details: The fix makes sure to free the memory (FIB) even if the
    request exits prematurely hence ensuring the driver wouldn't run out
    of memory (FIBs).

    Issue2: False Raid Alert occurs

    When the Physical Drives and Logical drives are reported as deleted or
    added, even though there is no change done on the system

    Root cause: Driver IOCTLs is signaled with EINTR while waiting on
    response from the lower layers. Returning "EINTR" will never initiate
    internal retry.

    Fix details: The issue was fixed by replacing "EINTR" with
    "ERESTARTSYS" for mid-layer retries.

    Signed-off-by: Penchala Narasimha Reddy
    Signed-off-by: James Bottomley

    Penchala Narasimha Reddy Chilakala, ERS-HCLTech
     

10 Dec, 2009

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)
    tree-wide: fix misspelling of "definition" in comments
    reiserfs: fix misspelling of "journaled"
    doc: Fix a typo in slub.txt.
    inotify: remove superfluous return code check
    hdlc: spelling fix in find_pvc() comment
    doc: fix regulator docs cut-and-pasteism
    mtd: Fix comment in Kconfig
    doc: Fix IRQ chip docs
    tree-wide: fix assorted typos all over the place
    drivers/ata/libata-sff.c: comment spelling fixes
    fix typos/grammos in Documentation/edac.txt
    sysctl: add missing comments
    fs/debugfs/inode.c: fix comment typos
    sgivwfb: Make use of ARRAY_SIZE.
    sky2: fix sky2_link_down copy/paste comment error
    tree-wide: fix typos "couter" -> "counter"
    tree-wide: fix typos "offest" -> "offset"
    fix kerneldoc for set_irq_msi()
    spidev: fix double "of of" in comment
    comment typo fix: sybsystem -> subsystem
    ...

    Linus Torvalds
     

05 Dec, 2009

1 commit

  • This patch modifies scsi_host_template->change_queue_depth so that
    it takes an argument indicating why it is being called. This will be
    used so that if a LLD needs to do some extra processing when
    handling queue fulls or later ramp ups, it can do so.

    This is a simple port of the drivers setting a change_queue_depth
    callback. In the patch I just have these LLDs adjust the queue depth
    if the user was requesting it.

    Signed-off-by: Mike Christie

    [Vasu.Dev: v2
    Also converted pmcraid_change_queue_depth and then verified
    all modules compile using "make allmodconfig" for any new build
    warnings on X86_64.

    Updated original description after combing two original
    patches from Mike to make this patch git bisectable.]
    Signed-off-by: Vasu Dev
    [jejb: fixed up 53c700]
    Signed-off-by: James Bottomley

    Mike Christie
     

04 Dec, 2009

1 commit

  • That is "success", "unknown", "through", "performance", "[re|un]mapping"
    , "access", "default", "reasonable", "[con]currently", "temperature"
    , "channel", "[un]used", "application", "example","hierarchy", "therefore"
    , "[over|under]flow", "contiguous", "threshold", "enough" and others.

    Signed-off-by: André Goddard Rosa
    Signed-off-by: Jiri Kosina

    André Goddard Rosa
     

14 Apr, 2009

1 commit

  • This is the second go through of the old DMA_nBIT_MASK macro,and there're not
    so many of them left,so I put them into one patch.I hope this is the last round.
    After this the definition of the old DMA_nBIT_MASK macro could be removed.

    Signed-off-by: Yang Hongyang
    Cc: Russell King
    Cc: Tony Lindgren
    Cc: "David S. Miller"
    Cc: James Bottomley
    Cc: Greg KH
    Cc: Takashi Iwai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yang Hongyang
     

07 Apr, 2009

3 commits


03 Apr, 2009

1 commit

  • changes:

    - set aac_cache=2 as default value to avoid performance problem
    (Novell bugzilla #469922)

    - Dell/PERC controller boot problem fixed (RedHat bugzilla #457552)

    - WWN flag added to fix SLES10 SP1/SP2 drive detection problems

    - 64-bit support changes

    - DECLARE_PCI_DEVICE_TABLE macro added

    - controller type changes

    Signed-off-by: Achim Leubner
    Signed-off-by: James Bottomley

    Leubner, Achim
     

30 Dec, 2008

2 commits


03 Dec, 2008

1 commit

  • A lot of 64bit machines with Adaptec 2200S and 2120S controllers don't
    recognize SCSI disks any more with the patch

    commit 94cf6ba11b068b8a8f68a1e88bffb6827e92124b
    Author: Salyzyn, Mark
    Date: Thu Dec 13 16:14:18 2007 -0800

    [SCSI] aacraid: fix driver failure with Dell PowerEdge Expandable RAID Controller 3/Di

    but fail with tons of "aac_srb: aac_fib_send failed with status: 8195"
    instead. This patch disables the quirk introduced in the change cited
    above for those two controllers again.

    [thenzl: added 2120S Controller]
    Signed-off-by: Gernot Hillier
    Signed-off-by: Tomas Henzl
    Acked-by: Matt Domsch
    Cc: AACRAID list
    Cc: Stable Tree
    Signed-off-by: James Bottomley

    Hillier, Gernot
     

02 Dec, 2008

1 commit


09 Oct, 2008

1 commit

  • Right now SCSI and others do their own command timeout handling.
    Move those bits to the block layer.

    Instead of having a timer per command, we try to be a bit more clever
    and simply have one per-queue. This avoids the overhead of having to
    tear down and setup a timer for each command, so it will result in a lot
    less timer fiddling.

    Signed-off-by: Mike Anderson
    Signed-off-by: Jens Axboe

    Jens Axboe
     

16 Jul, 2008

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (102 commits)
    [SCSI] scsi_dh: fix kconfig related build errors
    [SCSI] sym53c8xx: Fix bogus sym_que_entry re-implementation of container_of
    [SCSI] scsi_cmnd.h: remove double inclusion of linux/blkdev.h
    [SCSI] make struct scsi_{host,target}_type static
    [SCSI] fix locking in host use of blk_plug_device()
    [SCSI] zfcp: Cleanup external header file
    [SCSI] zfcp: Cleanup code in zfcp_erp.c
    [SCSI] zfcp: zfcp_fsf cleanup.
    [SCSI] zfcp: consolidate sysfs things into one file.
    [SCSI] zfcp: Cleanup of code in zfcp_aux.c
    [SCSI] zfcp: Cleanup of code in zfcp_scsi.c
    [SCSI] zfcp: Move status accessors from zfcp to SCSI include file.
    [SCSI] zfcp: Small QDIO cleanups
    [SCSI] zfcp: Adapter reopen for large number of unsolicited status
    [SCSI] zfcp: Fix error checking for ELS ADISC requests
    [SCSI] zfcp: wait until adapter is finished with ERP during auto-port
    [SCSI] ibmvfc: IBM Power Virtual Fibre Channel Adapter Client Driver
    [SCSI] sg: Add target reset support
    [SCSI] lib: Add support for the T10 (SCSI) Data Integrity Field CRC
    [SCSI] sd: Move scsi_disk() accessor function to sd.h
    ...

    Linus Torvalds
     

12 Jul, 2008

1 commit

  • Seen:

    kernel BUG at arch/i386/lib/usercopy.c:872

    under a 2.6.18-8.el5 kernel. Traced it to a garbage-in/garbage-out
    ioctl condition in the aacraid driver.

    Adaptec's special ioctl scb passthrough needs to check the validity of
    the individual scatter gather count fields to the maximum the adapter
    supports. Doing so will have the side effect of preventing
    copy_from_user() from bugging out while populating the dma buffers.
    This is a hardening effort, issue was triggered by an errant version
    of the management tools and thus the BUG should not be seen in the
    field.

    [jejb: fixed up compile failure]
    Signed-off-by: Mark Salyzyn
    Signed-off-by: James Bottomley

    Mark Salyzyn
     

21 Jun, 2008

1 commit


05 Jun, 2008

1 commit


03 May, 2008

3 commits

  • For firmware that supports the feature(s), add the ability to start or
    stop an array using the associated SCSI commands, to automatically
    manage the spin-up of an array on new I/O reporting back the
    appropriate check conditions and actions in cooperation with the
    normal timeout mechanisms and enable the blackout period management in
    the Firmware associated with the background spin-down of the arrays
    when the Firmware times out and deems the arrays as idle.

    Signed-off-by: Mark Salyzyn
    Signed-off-by: James Bottomley

    Mark Salyzyn
     
  • As JBOD devices (really just Simple Single Drive Volumes exported to
    the SCSI channel) are managed, they fail to update correctly when the
    driver triggers a SCSI scan. In addition, the ability to change
    multiple arrays or JBODs at the same time was resulting in dropped
    scans, set up a mechanism to issue a list of single target scans on a
    single configuration change notification from the Firmware.

    Performed some additional sundry cosmetic code style cleanups.

    Signed-off-by: Mark Salyzyn
    Signed-off-by: James Bottomley

    Mark Salyzyn
     
  • On some compile environments, warnings are produced regarding the
    usage of aac_logical_to_phys macro.

    Signed-off-by: Mark Salyzyn
    Signed-off-by: James Bottomley

    Mark Salyzyn
     

02 May, 2008

1 commit

  • On Apr 21, 2008, at 8:42 PM, Yinghai Lu wrote:
    > bisected to:
    >
    > commit e6990c6448ca9359b6d4ad027c0a6efbf4379e64
    > Author: Mark Salyzyn
    > Date: Mon Apr 14 14:20:16 2008 -0400
    >
    > [SCSI] aacraid: Fix down_interruptible() to check the return value

    The return value for down_interruptible was incorrectly checked!
    updated patch enclosed.

    Signed-off-by: Mark Salyzyn
    Signed-off-by: James Bottomley

    Mark Salyzyn
     

22 Apr, 2008

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: (36 commits)
    SCSI: convert struct class_device to struct device
    DRM: remove unused dev_class
    IB: rename "dev" to "srp_dev" in srp_host structure
    IB: convert struct class_device to struct device
    memstick: convert struct class_device to struct device
    driver core: replace remaining __FUNCTION__ occurrences
    sysfs: refill attribute buffer when reading from offset 0
    PM: Remove destroy_suspended_device()
    Firmware: add iSCSI iBFT Support
    PM: Remove legacy PM (fix)
    Kobject: Replace list_for_each() with list_for_each_entry().
    SYSFS: Explicitly include required header file slab.h.
    Driver core: make device_is_registered() work for class devices
    PM: Convert wakeup flag accessors to inline functions
    PM: Make wakeup flags available whenever CONFIG_PM is set
    PM: Fix misuse of wakeup flag accessors in serial core
    Driver core: Call device_pm_add() after bus_add_device() in device_add()
    PM: Handle device registrations during suspend/resume
    block: send disk "change" event for rescan_partitions()
    sysdev: detect multiple driver registrations
    ...

    Fixed trivial conflict in include/linux/memory.h due to semaphore header
    file change (made irrelevant by the change to mutex).

    Linus Torvalds
     

20 Apr, 2008

1 commit


19 Apr, 2008

2 commits


16 Apr, 2008

2 commits