14 Aug, 2010

2 commits

  • * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
    [S390] partitions: fix build error in ibm partition detection code
    [S390] appldata: fix dev_get_stats 64 bit conversion
    [S390] wire up prlimit64 and fanotify* syscalls
    [S390] zcrypt: fix Kconfig dependencies
    [S390] sys_personality: follow u_long to unsigned int conversion
    [S390] dasd: fix format string types

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (30 commits)
    ctcm: rename READ/WRITE defines to avoid redefinitions
    claw: rename READ/WRITE defines to avoid redefinitions
    phylib: available for any speed ethernet
    can: add limit for nframes and clean up signed/unsigned variables
    pkt_sched: Check .walk and .leaf class handlers
    pkt_sched: Fix sch_sfq vs tc_modify_qdisc oops
    caif-spi: Bugfix SPI_DATA_POS settings were inverted.
    caif: Bugfix - Increase default headroom size for control channel.
    net: make netpoll_rx return bool for !CONFIG_NETPOLL
    Bluetooth: Use 3-DH5 payload size for default ERTM max PDU size
    Bluetooth: Fix incorrect setting of remote_tx_win for L2CAP ERTM
    Bluetooth: Change default L2CAP ERTM retransmit timeout
    Bluetooth: Fix endianness issue with L2CAP MPS configuration
    net: Use NET_XMIT_SUCCESS where possible.
    isdn: mISDN: call pci_disable_device() if pci_probe() failed
    isdn: avm: call pci_disable_device() if pci_probe() failed
    isdn: avm: call pci_disable_device() if pci_probe() failed
    usbnet: rx_submit() should return an error code.
    pkt_sched: Add some basic qdisc class ops verification. Was: [PATCH] sfq: add dummy bind/unbind handles
    pkt_sched: sch_sfq: Add dummy unbind_tcf and put handles. Was: [PATCH] sfq: add dummy bind/unbind handles
    ...

    Linus Torvalds
     

13 Aug, 2010

3 commits

  • Get rid of these warnings:

    drivers/s390/block/dasd.c: In function '__dasd_device_check_expire':
    drivers/s390/block/dasd.c:1330: warning: format '%i' expects type 'int', but argument 4 has type 'long unsigned int'
    drivers/s390/block/dasd.c:1337: warning: format '%i' expects type 'int', but argument 4 has type 'long unsigned int'

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • READ/WRITE seems to be a bit too generic for defines in a device
    driver. Just rename them to CTCM_READ/CTCM_WRITE to avoid warnings.

    Signed-off-by: Ursula Braun
    Signed-off-by: David S. Miller

    Ursula Braun
     
  • READ/WRITE seems to be a bit too generic for defines in a device driver.
    Just rename them to READ_CHANNEL/WRITE_CHANNEL which should suffice.

    Fixes this:

    In file included from drivers/s390/net/claw.c:93:
    drivers/s390/net/claw.h:78:1: warning: "WRITE" redefined
    In file included from /home2/heicarst/linux-2.6/arch/s390/include/asm/debug.h:12,
    from drivers/s390/net/claw.c:68:
    include/linux/fs.h:156:1: warning: this is the location of the previous definition

    Signed-off-by: Heiko Carstens
    Signed-off-by: Ursula Braun
    Signed-off-by: David S. Miller

    Heiko Carstens
     

11 Aug, 2010

2 commits

  • * 'for-2.6.36' of git://git.kernel.dk/linux-2.6-block: (149 commits)
    block: make sure that REQ_* types are seen even with CONFIG_BLOCK=n
    xen-blkfront: fix missing out label
    blkdev: fix blkdev_issue_zeroout return value
    block: update request stacking methods to support discards
    block: fix missing export of blk_types.h
    writeback: fix bad _bh spinlock nesting
    drbd: revert "delay probes", feature is being re-implemented differently
    drbd: Initialize all members of sync_conf to their defaults [Bugz 315]
    drbd: Disable delay probes for the upcomming release
    writeback: cleanup bdi_register
    writeback: add new tracepoints
    writeback: remove unnecessary init_timer call
    writeback: optimize periodic bdi thread wakeups
    writeback: prevent unnecessary bdi threads wakeups
    writeback: move bdi threads exiting logic to the forker thread
    writeback: restructure bdi forker loop a little
    writeback: move last_active to bdi
    writeback: do not remove bdi from bdi_list
    writeback: simplify bdi code a little
    writeback: do not lose wake-ups in bdi threads
    ...

    Fixed up pretty trivial conflicts in drivers/block/virtio_blk.c and
    drivers/scsi/scsi_error.c as per Jens.

    Linus Torvalds
     
  • * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
    [S390] dasd: tunable missing interrupt handler
    [S390] dasd: allocate fallback cqr for reserve/release
    [S390] topology: use default MC domain initializer
    [S390] initrd: change default load address
    [S390] cmm, smsgiucv_app: convert sender to uppercase
    [S390] cmm: add missing __init/__exit annotations
    [S390] cio: use all available paths for some internal I/O
    [S390] ccwreq: add ability to use all paths
    [S390] cio: ccw_device_online_store return -EINVAL in case of missing driver
    [S390] cio: Log the response from the unit check handler
    [S390] cio: CHSC SIOSL Support

    Linus Torvalds
     

10 Aug, 2010

9 commits

  • The previous change added WARN_ON() in misc_deregister(). So it is not
    necessary to WARN_ON() misc_deregister() failure by callers.

    Signed-off-by: Akinobu Mita
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • This feature provides a user interface to specify the timeout for
    missing interrupts for standard I/O operations.

    Signed-off-by: Stefan Haberland
    Signed-off-by: Martin Schwidefsky

    Stefan Haberland
     
  • The DASD reserve and release ioctls use the preallocated memory pool
    of the respective device to build their CCW requests. However, when
    the device is busy, the pool may already be empty and the ioctl fails.
    Usually this can be recovered by calling the ioctl again, but in
    a situation in which we need to issue an unconditional reserve to
    make a device operational again, this would be not recoverable.
    To avoid a failure due to lack of memory, DASD device driver will
    preallocate enough memory for a single reserve/release request, which
    can be used if normal allocation fails.

    Signed-off-by: Stefan Weinhuber
    Signed-off-by: Martin Schwidefsky

    Stefan Weinhuber
     
  • The sender kernel parameter contains a z/VM user ID where
    alphabetic characters must be specified in uppercase.

    Allow users to specify lowercase characters and convert the
    sender string to uppercase at module initialization.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • Use all available paths for the SENSE ID and STLCK commands. This
    prevents deadlocks in conjunction with reserved devices.

    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Change the ccwrequest infrastructure to use more than one channel
    path per start I/O. A flag "singlepath" is added to struct
    ccw_request - if set, the old behavior is used. This flag is set
    for all exploiters of the ccwrequest infrastructure - so there
    is no functional change through this patch.

    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • If no driver is attached to a device or the driver provides no
    set_online/set_offline function, setting this device online/offline
    via its sysfs online attribute will silently fail but return success.

    This patch changes the behavior to return -EINVAL in those cases.

    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Log the response from the unit check handler which triggers further
    cio internal i/o processing.

    Signed-off-by: Michael Ernst
    Signed-off-by: Martin Schwidefsky

    Michael Ernst
     
  • A Linux interface for the CHSC command
    store-I/O-operation-status-and-initiate-logging (SIOSL).
    Model-dependent logging within the channel subsystem can be invoked
    via a helper function or a writable subchannel device attribute.

    Signed-off-by: Michael Ernst
    Signed-off-by: Martin Schwidefsky

    Michael Ernst
     

08 Aug, 2010

2 commits

  • The open and release block_device_operations are currently
    called with the BKL held. In order to change that, we must
    first make sure that all drivers that currently rely
    on this have no regressions.

    This blindly pushes the BKL into all .open and .release
    operations for all block drivers to prepare for the
    next step. The drivers can subsequently replace the BKL
    with their own locks or remove it completely when it can
    be shown that it is not needed.

    The functions blkdev_get and blkdev_put are the only
    remaining users of the big kernel lock in the block
    layer, besides a few uses in the ioctl code, none
    of which need to serialize with blkdev_{get,put}.

    Most of these two functions is also under the protection
    of bdev->bd_mutex, including the actual calls to
    ->open and ->release, and the common code does not
    access any global data structures that need the BKL.

    Signed-off-by: Arnd Bergmann
    Acked-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Arnd Bergmann
     
  • This removes q->prepare_flush_fn completely (changes the
    blk_queue_ordered API).

    Signed-off-by: FUJITA Tomonori
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     

05 Aug, 2010

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (276 commits)
    [SCSI] zfcp: Trigger logging in the FCP channel on qdio error conditions
    [SCSI] zfcp: Introduce experimental support for DIF/DIX
    [SCSI] zfcp: Enable data division support for FCP devices
    [SCSI] zfcp: Prevent access on uninitialized memory.
    [SCSI] zfcp: Post events through FC transport class
    [SCSI] zfcp: Cleanup QDIO attachment and improve processing.
    [SCSI] zfcp: Cleanup function parameters for sbal value.
    [SCSI] zfcp: Use correct width for timer_interval field
    [SCSI] zfcp: Remove SCSI device when removing unit
    [SCSI] zfcp: Use memdup_user and kstrdup
    [SCSI] zfcp: Fix retry after failed "open port" erp action
    [SCSI] zfcp: Fail erp after timeout
    [SCSI] zfcp: Use forced_reopen in terminate_rport_io callback
    [SCSI] zfcp: Register SCSI devices after successful fc_remote_port_add
    [SCSI] zfcp: Do not try "forced close" when port is already closed
    [SCSI] zfcp: Do not unblock rport from REOPEN_PORT_FORCED
    [SCSI] sd: add support for runtime PM
    [SCSI] implement runtime Power Management
    [SCSI] convert to the new PM framework
    [SCSI] Unify SAM_ and SAM_STAT_ macros
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1443 commits)
    phy/marvell: add 88ec048 support
    igb: Program MDICNFG register prior to PHY init
    e1000e: correct MAC-PHY interconnect register offset for 82579
    hso: Add new product ID
    can: Add driver for esd CAN-USB/2 device
    l2tp: fix export of header file for userspace
    can-raw: Fix skb_orphan_try handling
    Revert "net: remove zap_completion_queue"
    net: cleanup inclusion
    phy/marvell: add 88e1121 interface mode support
    u32: negative offset fix
    net: Fix a typo from "dev" to "ndev"
    igb: Use irq_synchronize per vector when using MSI-X
    ixgbevf: fix null pointer dereference due to filter being set for VLAN 0
    e1000e: Fix irq_synchronize in MSI-X case
    e1000e: register pm_qos request on hardware activation
    ip_fragment: fix subtracting PPPOE_SES_HLEN from mtu twice
    net: Add getsockopt support for TCP thin-streams
    cxgb4: update driver version
    cxgb4: add new PCI IDs
    ...

    Manually fix up conflicts in:
    - drivers/net/e1000e/netdev.c: due to pm_qos registration
    infrastructure changes
    - drivers/net/phy/marvell.c: conflict between adding 88ec048 support
    and cleaning up the IDs
    - drivers/net/wireless/ipw2x00/ipw2100.c: trivial ipw2100_pm_qos_req
    conflict (registration change vs marking it static)

    Linus Torvalds
     

29 Jul, 2010

1 commit


28 Jul, 2010

16 commits

  • Exploit the cio siosl function to trigger logging in the FCP channel
    on qdio error conditions. Add a helper function in zfcp_qdio to ensure
    that tracing is only triggered once before calling qdio_shutdown.

    Trigger in zfcp for hardware logs are:
    - timeout for FSF requests to the FCP channel
    - "no recommendation" status from FCP channel
    - invalid FSF protocol status
    - stalled outbound queue
    - unknown request id on inbound queue
    - QDIO_ERROR_SLSB_STATE

    All of the above triggers run from the Linux qdio softirq context, so
    no additional synchronization is necessary for the handling of the
    ZFCP_STATUS_ADAPTER_SIOSL_ISSUED flag.

    Reviewed-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • Introduce support for DIF/DIX in zfcp: Report the capabilities for the
    Scsi_host, map the protection data when issuing I/O requests and
    handle the new error codes. Also add the fsf data_direction field to
    the hba trace, it is useful information for debugging in that area.
    This is an EXPERIMENTAL feature for now.

    Signed-off-by: Felix Beck
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Felix Beck
     
  • Try to enable data division support for FCP devices and indicate in
    the adapter status flag if it succeeded.

    Reviewed-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • Initialize allocated memory to zero to prevent access on error. This
    prevents a possible error in the error handling path.

    Signed-off-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Swen Schillig
     
  • Post FC transport class netlink events for usage in the userspace,
    e.g. for HBAAPI. Supported events are those required for the
    polled events in HBAAPI.
    - link up
    - link down
    - incoming RSCN
    (events related to FC-AL are not supported, as zfcp has no support for FC-AL)

    Signed-off-by: Sven Schuetz
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Sven Schuetz
     
  • Some definitions and structures in the zfcp QDIO processing are
    improved by the removal of not required variables and processing steps.
    I addition the naming of some variables is changed to make their purpose
    more clear.

    Signed-off-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Swen Schillig
     
  • A lot of functions require the amount of SBALs as one of their
    parameter which is most times invariable. Therefore remove this
    parameter and set the SBAL value explicitly if a non standard value is
    required. In addition the warning message "oversized data" is
    replaced with a BUG_ON() statement assuring the limits defined and
    requested by zfcp.

    Signed-off-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Swen Schillig
     
  • The timer_interval is 14 bits in width. Introduce a define for
    properly masking the value.

    Reviewed-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • Configuring a LUN in zfcp, also creates a SCSI device. For
    consistency, it makes sense to remove the SCSI device when the LUN is
    deconfigured. Replace the flush_work with the call to
    scsi_remove_device: scsi_remove_device also takes the scan_mutex that
    synchronizes itself with any long running device discovery.

    Reviewed-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • Use the functions memdup_user and kstrdup to allocate memory and copy
    the data in one step, saving some lines of code.

    Reviewed-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • Trying to enqueue a port erp action from the port erp strategy will
    fail in zfcp_erp_required_act. To try the same action again, return
    ZFCP_ERP_FAILED.

    Reviewed-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • After a timeout notification, do not try to run the erp strategy.
    Return from the erp with "failed" to possibly trigger a retry.

    Reviewed-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • When running in non-NPIV mode, the port_reopen in terminate_rport_io
    might succeed even though the remote port is not available. If the
    same port connection is held open from another operating system, the
    reopen is only a virtual operation and might not hit the SAN. Fix this
    by changing the call to forced_reopen that forces a logout/login
    operation in the SAN.

    Reviewed-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • When the successful return of an adisc is the final step to set the
    port online, the registration of SCSI devices might be omitted. SCSI
    devices that have been removed before (due to a short dev_loss_tmo
    setting) might not be attached again.

    The problem is that the registration of SCSI devices is done only
    after erp has finished. The correct place would be after the call to
    fc_remote_port_add to mimick the scan in the FC transport class.

    Change the registration of SCSI devices to be triggered after the
    fc_remote_port_add call. For the initial inquiry command to succeed,
    the unit must also be open. If the unit reopen is still pending, the
    inquiry command to the LUN will be deferred with DID_IMM_RETRY, so
    there is no harm from this approach.

    Reviewed-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • When the port is already "physically closed" try the reopen instead.
    There is no way to send a "physically close" to an already closed
    port.

    Reviewed-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • When the REOPEN_PORT_FORCED erp action succeeds, the port has been
    closed. A REOPEN_PORT will try to open the port after the
    REPORT_PORT_FORCED. The rport should only be unblocked after the
    successful completion of the reopen port.

    Reviewed-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Christof Schmitt
     

24 Jul, 2010

3 commits

  • Function qeth_l2_remove_device invokes qeth_l2_del_all_mc at the end.
    This is needless, because it is already called in the offline function.
    And even more this is invalid, because multicast addresses cannot be
    removed in DOWN state. Thus this patch deletes invocation of
    qeth_l2_del_all_mc in function qeth_l2_remove_device.

    Signed-off-by: Ursula Braun
    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    Ursula Braun
     
  • The semantic patch that makes this change is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @@
    expression from,to,size,flag;
    position p;
    identifier l1,l2;
    @@

    - to = \(kmalloc@p\|kzalloc@p\)(size,flag);
    + to = memdup_user(from,size);
    if (
    - to==NULL
    + IS_ERR(to)
    || ...) {

    }
    - if (copy_from_user(to, from, size) != 0) {
    -
    - }
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Andrew Morton
    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    Julia Lawall
     
  • Reply callback functions in qeth should return zero if command
    response consists of one part only, otherwise qeth continues
    waiting for further parts of the command response.

    Signed-off-by: Ursula Braun
    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    Ursula Braun