24 Dec, 2011

1 commit


21 Dec, 2011

5 commits

  • If recovery is triggered in presence of pending asynchronous
    deliveries of storage blocks we do a forced cleanup after
    the corresponding tasklets are completely stopped and trigger
    appropriate notifications for the correspondingerror state.

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

    Einar Lueck
     
  • In case there are no system resources to run a recovery we have to clear
    recovery bitmasks so a further automatic or manual driven recovery can
    fix up the device.

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

    Frank Blaschka
     
  • The NETIUCV device driver allows to connect a Linux guest on z/VM to
    another z/VM guest based on the z/VM communication facility IUCV.
    Multiple output paths to different guests are possible, as well as
    multiple input paths from different guests.
    With this feature, you can configure multiple point-to-point NETIUCV
    interfaces between your Linux on System z instance and another z/VM
    guest.

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

    Ursula Braun
     
  • A recovery does not make sense during shutdown and may even cause an
    error like this:

    qeth 0.0.f503: A recovery process has been started for the device
    Badness at drivers/s390/cio/qdio_main.c:1156
    Modules linked in: autofs4 sunrpc dm_multipath scsi_dh scsi_mod qeth_l3 ipv6 vmu
    r qeth qdio ccwgroup ext3 jbd mbcache dasd_eckd_mod dasd_mod dm_mirror dm_region
    _hash dm_log dm_mod [last unloaded: scsi_wait_scan]
    CPU: 3 Not tainted 2.6.32-202.el6.s390x #1
    Process qeth_recover (pid: 1498, task: 000000003efe2040, ksp: 000000003d5e3b80)
    Krnl PSW : 0404200180000000 000003c000be6da8 (qdio_int_handler+0x88/0x43c [qdio]
    )
    R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3
    Krnl GPRS: ffffffffffff3bac 0000000000000005 0000000000000000 fffffffffffffff4
    0000000000000000 000000000000000c 0000000000000000 000000003ca97000
    0000000000000380 fffffffffffffff4 000000003f22d800 000000003f22c478
    000003c000bdf000 000003c000bea270 000000003f447e10 000000003f447db0
    Krnl Code: 000003c000be6d9a: c21f00000004 clfi %r1,4
    000003c000be6da0: a7c40021 brc 12,3c000be6de2
    000003c000be6da4: a7f40001 brc 15,3c000be6da6
    >000003c000be6da8: e320a0080004 lg %r2,8(%r10)
    000003c000be6dae: a7390003 lghi %r3,3
    000003c000be6db2: a72b0178 aghi %r2,376
    000003c000be6db6: a7490001 lghi %r4,1
    000003c000be6dba: a7590000 lghi %r5,0
    Call Trace:
    ([] __per_cpu_offset+0x0/0x200)
    [] ccw_device_call_handler+0x70/0xcc
    [] ccw_device_irq+0x82/0x180
    [] do_IRQ+0x16c/0x1ec
    [] io_return+0x0/0x8
    [] qeth_determine_capabilities+0x208/0x5cc [qeth]
    ([] qeth_determine_capabilities+0x1de/0x5cc [qeth])
    [] qeth_core_hardsetup_card+0x160/0x1258 [qeth]
    [] __qeth_l3_set_online+0x132/0xb14 [qeth_l3]
    [] qeth_l3_recover+0x168/0x224 [qeth_l3]
    [] kthread+0xa4/0xac
    [] kernel_thread_starter+0x6/0xc
    [] kernel_thread_starter+0x0/0xc

    The patch forbids start of a recovery once qeth shutdown is running.

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

    Ursula Braun
     
  • qeth layer3 recovery invokes its set_multicast_list function, which
    invokes function __vlan_find_dev_deep requiring rcu_read_lock or
    rtnl lock. This causes kernel messages:

    kernel: [ INFO: suspicious rcu_dereference_check() usage. ]
    kernel: ---------------------------------------------------
    kernel: net/8021q/vlan_core.c:70 invoked rcu_dereference_check() without protection!

    kernel: stack backtrace:
    kernel: CPU: 0 Not tainted 3.1.0 #9
    kernel: Process qeth_recover (pid: 2078, task: 000000007e584680, ksp: 000000007e3e3930)
    kernel: 000000007e3e3d08 000000007e3e3c88 0000000000000002 0000000000000000
    kernel: 000000007e3e3d28 000000007e3e3ca0 000000007e3e3ca0 00000000005e77ce
    kernel: 0000000000000000 0000000000000001 ffffffffffffffff 0000000000000001
    kernel: 000000000000000d 000000000000000c 000000007e3e3cf0 0000000000000000
    kernel: 0000000000000000 0000000000100a18 000000007e3e3c88 000000007e3e3cc8
    kernel: Call Trace:
    kernel: ([] show_trace+0xee/0x144)
    kernel: [] __vlan_find_dev_deep+0xb0/0x108
    kernel: [] qeth_l3_set_multicast_list+0x976/0xe38
    kernel: [] __qeth_l3_set_online+0x75c/0x1498
    kernel: [] qeth_l3_recover+0xc4/0x1d0
    kernel: [] kthread+0xa6/0xb0
    kernel: [] kernel_thread_starter+0x6/0xc
    kernel: [] kernel_thread_starter+0x0/0xc

    The patch makes sure the rtnl lock is held once qeth recovery invokes
    its set_multicast_list function.

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

    Ursula Braun
     

14 Dec, 2011

1 commit

  • zfcp_scsi_slave_destroy erroneously always tried to finish its task
    even if the corresponding previous zfcp_scsi_slave_alloc returned
    early. This can lead to kernel page faults on accessing uninitialized
    fields of struct zfcp_scsi_dev in zfcp_erp_lun_shutdown_wait. Take the
    port field of the struct to determine if slave_alloc returned early.

    This zfcp bug is exposed by 4e6c82b (in turn fixing f7c9c6b to be
    compatible with 21208ae) which can call slave_destroy for a
    corresponding previous slave_alloc that did not finish.

    This patch is based on James Bottomley's fix suggestion in
    http://www.spinics.net/lists/linux-scsi/msg55449.html.

    Signed-off-by: Steffen Maier
    Cc: #2.6.38+
    Signed-off-by: James Bottomley

    Steffen Maier
     

09 Dec, 2011

1 commit


07 Dec, 2011

1 commit


06 Dec, 2011

1 commit


01 Dec, 2011

5 commits

  • Setup timer for processing messages in request queue after a
    successful AP bus device reset.

    Signed-off-by: Holger Dengler
    Signed-off-by: Martin Schwidefsky

    Holger Dengler
     
  • The functions called by chsc_chp_vary operate on pointers to channel
    path ids not channel path links. (This worked by chance since the id
    is the first member of the link structure)

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

    Sebastian Ott
     
  • If a driver wants to do command mode IO while CIO is doing
    online path verification we ignore this request and provide
    a fake irb when we are done and the driver can do IO again.

    For transport mode IO we have no such mechanism, giving the
    driver no other chance then to retry the action until we are
    done. This is not very reliable.

    Provide a fake irb for transport mode IO as well.

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

    Sebastian Ott
     
  • When a driver requests to do IO, we will adjust the mask of
    paths to be used to exclude varied offline paths.

    Drivers trying to do IO solely on paths which are online but some
    way defective may lack the information to do proper error handling.

    There is no reason to allow the usage of known to be broken paths.
    Thus restrict the paths a ccw driver can use for IO to a subset of
    the paths cio found usable (this also excludes offline paths).

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

    Sebastian Ott
     
  • Using the generic css_schedule_eval to evaluate subchannels
    while resuming from hibernation is very slow when used with
    many devices. Provide a new evaluation trigger which exploits
    css_sched_sch_todo and use this in the resume callback for
    ccw devices.

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

    Sebastian Ott
     

22 Nov, 2011

1 commit


21 Nov, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (86 commits)
    ipv4: fix redirect handling
    ping: dont increment ICMP_MIB_INERRORS
    sky2: fix hang in napi_disable
    sky2: enforce minimum ring size
    bonding: Don't allow mode change via sysfs with slaves present
    f_phonet: fix page offset of first received fragment
    stmmac: fix pm functions avoiding sleep on spinlock
    stmmac: remove spin_lock in stmmac_ioctl.
    stmmac: parameters auto-tuning through HW cap reg
    stmmac: fix advertising 1000Base capabilties for non GMII iface
    stmmac: use mdelay on timeout of sw reset
    sky2: version 1.30
    sky2: used fixed RSS key
    sky2: reduce default Tx ring size
    sky2: rename up/down functions
    sky2: pci posting issues
    sky2: fix hang on shutdown (and other irq issues)
    r6040: fix check against MCRO_HASHEN bit in r6040_multicast_list
    MAINTAINERS: change email address for shemminger
    pch_gbe: Move #include of module.h
    ...

    Linus Torvalds
     

17 Nov, 2011

7 commits


14 Nov, 2011

2 commits


10 Nov, 2011

1 commit


07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

05 Nov, 2011

1 commit

  • * 'for-3.2/core' of git://git.kernel.dk/linux-block: (29 commits)
    block: don't call blk_drain_queue() if elevator is not up
    blk-throttle: use queue_is_locked() instead of lockdep_is_held()
    blk-throttle: Take blkcg->lock while traversing blkcg->policy_list
    blk-throttle: Free up policy node associated with deleted rule
    block: warn if tag is greater than real_max_depth.
    block: make gendisk hold a reference to its queue
    blk-flush: move the queue kick into
    blk-flush: fix invalid BUG_ON in blk_insert_flush
    block: Remove the control of complete cpu from bio.
    block: fix a typo in the blk-cgroup.h file
    block: initialize the bounce pool if high memory may be added later
    block: fix request_queue lifetime handling by making blk_queue_cleanup() properly shutdown
    block: drop @tsk from attempt_plug_merge() and explain sync rules
    block: make get_request[_wait]() fail if queue is dead
    block: reorganize throtl_get_tg() and blk_throtl_bio()
    block: reorganize queue draining
    block: drop unnecessary blk_get/put_queue() in scsi_cmd_ioctl() and blk_get_tg()
    block: pass around REQ_* flags instead of broken down booleans during request alloc/free
    block: move blk_throtl prototypes to block/blk.h
    block: fix genhd refcounting in blkio_policy_parse_and_set()
    ...

    Fix up trivial conflicts due to "mddev_t" -> "struct mddev" conversion
    and making the request functions be of type "void" instead of "int" in
    - drivers/md/{faulty.c,linear.c,md.c,md.h,multipath.c,raid0.c,raid1.c,raid10.c,raid5.c}
    - drivers/staging/zram/zram_drv.c

    Linus Torvalds
     

01 Nov, 2011

1 commit

  • Fix several compile errors on s390 caused by splitting module.h.

    Some include additions [e.g. qdio_setup.c, zfcp_qdio.c] are in
    anticipation of pending changes queued for s390 that increase
    the modular use footprint.

    [PG: added additional obvious changes since Heiko's original patch]

    Signed-off-by: Heiko Carstens
    Signed-off-by: Paul Gortmaker

    Heiko Carstens
     

30 Oct, 2011

10 commits