19 Apr, 2008

5 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26: (1090 commits)
    [NET]: Fix and allocate less memory for ->priv'less netdevices
    [IPV6]: Fix dangling references on error in fib6_add().
    [NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found
    [PKT_SCHED]: Fix datalen check in tcf_simp_init().
    [INET]: Uninline the __inet_inherit_port call.
    [INET]: Drop the inet_inherit_port() call.
    SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked.
    [netdrvr] forcedeth: internal simplifications; changelog removal
    phylib: factor out get_phy_id from within get_phy_device
    PHY: add BCM5464 support to broadcom PHY driver
    cxgb3: Fix __must_check warning with dev_dbg.
    tc35815: Statistics cleanup
    natsemi: fix MMIO for PPC 44x platforms
    [TIPC]: Cleanup of TIPC reference table code
    [TIPC]: Optimized initialization of TIPC reference table
    [TIPC]: Remove inlining of reference table locking routines
    e1000: convert uint16_t style integers to u16
    ixgb: convert uint16_t style integers to u16
    sb1000.c: make const arrays static
    sb1000.c: stop inlining largish static functions
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (137 commits)
    [SCSI] iscsi: bidi support for iscsi_tcp
    [SCSI] iscsi: bidi support at the generic libiscsi level
    [SCSI] iscsi: extended cdb support
    [SCSI] zfcp: Fix error handling for blocked unit for send FCP command
    [SCSI] zfcp: Remove zfcp_erp_wait from slave destory handler to fix deadlock
    [SCSI] zfcp: fix 31 bit compile warnings
    [SCSI] bsg: no need to set BSG_F_BLOCK bit in bsg_complete_all_commands
    [SCSI] bsg: remove minor in struct bsg_device
    [SCSI] bsg: use better helper list functions
    [SCSI] bsg: replace kobject_get with blk_get_queue
    [SCSI] bsg: takes a ref to struct device in fops->open
    [SCSI] qla1280: remove version check
    [SCSI] libsas: fix endianness bug in sas_ata
    [SCSI] zfcp: fix compiler warning caused by poking inside new semaphore (linux-next)
    [SCSI] aacraid: Do not describe check_reset parameter with its value
    [SCSI] aacraid: Fix down_interruptible() to check the return value
    [SCSI] sun3_scsi_vme: add MODULE_LICENSE
    [SCSI] st: rename flush_write_buffer()
    [SCSI] tgt: use KMEM_CACHE macro
    [SCSI] initio: fix big endian problems for auto request sense
    ...

    Linus Torvalds
     
  • In the case the unit is blocked, zfcp_unit_get has not been called
    yet, so the error handling path should not call zfcp_unit_put.

    Signed-off-by: Christof Schmitt
    Signed-off-by: Martin Peschke
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • The testcase
    # chchp -v 0 0.da && sleep 59 && chchp -v 1 0.da
    results in this deadlock situation:

    STACK TRACE FOR TASK: 0x7e9a2048 (zfcperp0.0.c613)
    0 schedule+816 [0x356b3c]
    1 schedule_timeout+172 [0x357340]
    2 wait_for_common+192 [0x3565fc]
    3 flush_cpu_workqueue+116 [0x52af0]
    4 flush_workqueue+116 [0x533b8]
    5 fc_remote_port_add+64 [0x1c83ec]
    6 zfcp_erp_thread+4534 [0x26585a]
    7 kernel_thread_starter+6 [0x195d2]

    STACK TRACE FOR TASK: 0x7f8ec048 (fc_wq_0)
    0 schedule+816 [0x356b3c]
    1 zfcp_erp_wait+104 [0x264568]
    2 zfcp_scsi_slave_destroy+64 [0x261b24]
    3 __scsi_remove_device+154 [0x1c24ba]
    4 scsi_remove_device+62 [0x1c2512]
    5 __scsi_remove_target+198 [0x1c25ea]
    6 __remove_child+58 [0x1c26d6]
    7 device_for_each_child+66 [0x1ab566]
    8 scsi_remove_target+98 [0x1c268a]
    9 run_workqueue+200 [0x5272c]
    10 worker_thread+146 [0x52882]
    11 kthread+140 [0x58360]
    12 kernel_thread_starter+6 [0x195d2]

    Remove the zfcp_erp_wait call that is not required here to prevent the
    deadlock situation.

    Signed-off-by: Christof Schmitt
    Signed-off-by: Martin Peschke
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • drivers/s390/scsi/zfcp_aux.c: In function ‘zfcp_fsf_incoming_els_rscn’:
    drivers/s390/scsi/zfcp_aux.c:1379: warning: cast from pointer to integer of
    different size
    drivers/s390/scsi/zfcp_aux.c: In function ‘zfcp_fsf_incoming_els_plogi’:
    drivers/s390/scsi/zfcp_aux.c:1432: warning: cast from pointer to integer of
    different size
    drivers/s390/scsi/zfcp_aux.c: In function ‘zfcp_fsf_incoming_els_logo’:
    drivers/s390/scsi/zfcp_aux.c:1457: warning: cast from pointer to integer of
    different size
    ..

    Just passing pointers rids us of these warnings and improves readability.

    Signed-off-by: Martin Peschke
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Martin Peschke
     

18 Apr, 2008

1 commit

  • as seen in linux-next tree:

    drivers/s390/scsi/zfcp_dbf.c: In function ‘zfcp_rec_dbf_event_thread’:
    drivers/s390/scsi/zfcp_dbf.c:697: warning: passing argument 1 of ‘atomic_read’
    from incompatible pointer type

    Caused by recent git commit:

    commit 348447e85749120ad600a5c8e23b6bb7058b931d
    Author: Martin Peschke
    Date: Thu Mar 27 14:22:01 2008 +0100

    [SCSI] zfcp: Add trace records for recovery thread and its queues

    We are not supposed to poke inside semaphore.

    Signed-off-by: Martin Peschke
    Acked-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Martin Peschke
     

17 Apr, 2008

28 commits

  • Move the function that prints the segment warning messages found in the
    monreader driver and the dcssblk driver to the extmem base code.

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

    Martin Schwidefsky
     
  • Comments, which suggested to be kernel-doc but were not in the right
    formatting, have been corrected. Additionally some minor cleanup in
    the comments has been done.

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

    Felix Beck
     
  • Most noteable part of this commit is the new local header file entry.h
    which contains all the function declarations of functions that get only
    called from asm code or are arch internal. That way we can avoid extern
    declarations in C files.
    This is more or less the same that was done for sparc64.

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

    Heiko Carstens
     
  • This way we get rid of s390's NO_IDLE_HZ and use the generic dynticks
    variant instead. In addition we get high resolution timers for free.

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

    Heiko Carstens
     
  • Remove the program check generating monitor calls and use function
    calls instead. Theres is no real advantage in using monitor calls,
    but they do make debugging harder, because of all the program checks
    it generates.

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

    Heiko Carstens
     
  • Next generation of OSA adapters allows retrieval of further self-describing
    infos. This is the preparational infrastructure patch for further exploitation
    in the qeth driver.

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

    Ursula Braun
     
  • __FUNCTION__ is gcc-specific, use __func__

    Signed-off-by: Harvey Harrison
    Signed-off-by: Andrew Morton
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Heiko Carstens

    Harvey Harrison
     
  • This patch allows user space applications to access large amounts of
    truly random data. The random data source is the build-in hardware
    random number generator on the CEX2C cards.

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

    Ralph Wuerthner
     
  • Add permanent and temporary model capacity and the corresponding
    capacity value fields for the three capacity identifiers to the
    output of /proc/sysinfo.

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

    Martin Schwidefsky
     
  • drivers/s390/sysinfo.c uses the store system information intruction to query
    the system about information of the machine, the LPAR and additional
    hypervisors. KVM has to implement the host part for this instruction.

    To avoid code duplication, this patch splits the common definitions from
    sysinfo.c into a separate header file include/asm-s390/sysinfo.h for KVM use.

    Signed-off-by: Christian Borntraeger
    Signed-off-by: Carsten Otte
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Heiko Carstens

    Christian Borntraeger
     
  • Now the system reports system information messages (SIM) to the user.
    The System Reference Code (SRC) which is reported to the user gives
    the abbility to lookup the reason of the SIM online in the
    documentation of the storage server.

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

    Stefan Haberland
     
  • If user space opens a unit record device node then vmur is leaving the kernel
    with lock open_mutex still held to prevent other processes from opening the
    device simultaneously. This causes lockdep to complain about a lock held when
    returning to user space.
    Now the mutex is replaced by a wait queue to serialize device open.

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

    Frank Munzert
     
  • When a tape device is set online, offline and online again, the following
    error message is printed on the console: "sysfs: duplicate filename
    'non-rewinding' can not be created". The reason is that when setting a
    device online, the tape driver creates a sysfs symlink from the tape device
    to the tape class device. Unfortunately the symlink is not removed
    correctly, when the device is set offline. Instead of passing the
    tape device object to sysfs_remove_link, the class device object is used.
    This patch fixes this problem and uses the correct tape device object now.

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

    Michael Holzheu
     
  • allocating dasd_fba_private without GFP_DMA results in IO error
    during read device characteristics of a FBA disk

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

    Stefan Haberland
     
  • Problem:
    Usually every FCP device has its own indicator field the adapter
    uses to signal outstanding work. Once a certain limit of devices
    is reached, a common indicator field is used. In certain scenarios
    qdio resets this common indicator field, but handles only part of
    the FCP-devices sharing the common indicator field. Thus inbound
    traffic on the non-processed shared FCP-devices is not recognized
    immediately.

    Solution:
    Make sure common indicator field is reset only, if all FCP-devices
    sharing the indicator are processed.

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

    Ursula Braun
     
  • Reintroduces in_interrupt() check in sclp_tty code. Add may_schedule
    parameter to vt220 write function, so we can let the write function
    know if it may schedule or not. So we disallow scheduling for all
    console calls and may allow them for tty calls.

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

    Heiko Carstens
     
  • It is now possible to trigger cm_enable processing several times in
    parallel without causing a kernel panic.

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

    Michael Ernst
     
  • Currently, we don't do much on no path or no device situations during
    normal user I/O, since we rely on reports regarding those events by
    the machine. If we trigger a path verification to bring our device
    state up-to-date, we (a) may recover from path failures earlier and
    (b) better handle situations where the hardware/hypervisor doesn't
    give us enough notifications.

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

    Cornelia Huck
     
  • Make sure we wait for previous evaluations triggered by path state
    changes to have settled before we manipulate path states again.

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

    Cornelia Huck
     
  • I compiled the kernel without deadline, and the dasd code exits the old
    scheduler (CFQ), fails to load the new one (deadline), and then things just
    hang - with one of these (sorry about the weird chars - I copy & pasted it
    from a 3270 console):

    dasd(eckd): 0.0.0151: 3390/0A(CU:3990/01) Cyl:3338 Head:15 Sec:224
    ------------ cut here ------------
    Badness at kernel/mutex.c:134
    Modules linked in: dasd_eckd_mod dasd_mod
    CPU: 0 Not tainted 2.6.25-rc3 #9
    Process exe (pid: 538, task: 000000000d172000, ksp: 000000000d21ef88)
    Krnl PSW : 0404000180000000 000000000022fb5c (mutex_lock_nested+0x2a4/0x2cc)
    R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:0 PM:0 EA:3
    Krnl GPRS: 0000000000024218 000000000076fc78 0000000000000000 000000000000000f
    000000000022f92e 0000000000449898 000000000f921c00 000003e000162590
    00000000001539c4 000000000d172000 070000007fffffff 000000000d21f400
    000000000f8f2560 00000000002413f8 000000000022fb44 000000000d21f400
    Krnl Code: 000000000022fb50: bf2f1000 icm %r2,15,0(%r1)
    000000000022fb54: a774fef6 brc 7,22f940
    000000000022fb58: a7f40001 brc 15,22fb5a
    >000000000022fb5c: a7f4fef2 brc 15,22f940
    000000000022fb60: c0e5fffa112a brasl %r14,171db4
    000000000022fb66: 1222 ltr %r2,%r2
    000000000022fb68: a784fedb brc 8,22f91e
    000000000022fb6c: c010002a0086 larl %r1,76fc78
    Call Trace:
    ( mutex_lock_nested+0x76/0x2cc)
    elevator_exit+0x38/0x80
    blk_cleanup_queue+0x62/0x7c
    dasd_change_state+0xe0/0x8ec
    dasd_set_target_state+0x8e/0x9c
    dasd_generic_set_online+0x160/0x284
    dasd_eckd_set_online+0x2e/0x40
    ccw_device_set_online+0x170/0x2c0
    online_store_recog_and_online+0x5a/0x14c
    online_store+0xbe/0x2ec
    dev_attr_store+0x38/0x58
    sysfs_write_file+0x130/0x190
    vfs_write+0xb2/0x160
    sys_write+0x54/0x9c
    sys32_write+0x2e/0x50
    sysc_noemu+0x10/0x16
    0x77e82bd2

    Set elevator pointer to NULL in order to avoid double elevator_exit
    calls when elevator_init call for deadline iosched fails.
    Also make sure the dasd device driver depends on IOSCHED_DEADLINE so
    the default IO scheduler of the dasd driver is present.

    Signed-off-by: Josef 'Jeff' Sipek
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Heiko Carstens

    Josef 'Jeff' Sipek
     
  • Problem: If setting of an ip-address fails with LAN_OFFLINE,
    qeth does not save the ip-address in its internal
    list of set ip-addresses. qeth recovers after a
    following STARTLAN event, but cannot set the unsaved
    ip-address.
    Solution: save the ip-address in the qeth-maintained list of
    ip-addresses after a LAN_OFFLINE failure for SETIP.

    Signed-off-by: Ursula Braun
    Signed-off-by: Frank Blaschka
    Signed-off-by: Jeff Garzik

    Ursula Braun
     
  • Allocate headroom for TR_HLEN but using only ETH_HLEN causes rx
    performance degradation. Allocate ETH_HLEN for ethernet and
    TR_HLEN for token ring (layer 3 mode).

    Signed-off-by: Frank Blaschka
    Signed-off-by: Jeff Garzik

    Frank Blaschka
     
  • Improving debug message handling, moving ipa into messages from kernel
    to dbf, some cleanups and typo fixes.

    Signed-off-by: Peter Tiedemann
    Signed-off-by: Frank Blaschka
    Signed-off-by: Jeff Garzik

    Peter Tiedemann
     
  • hw does not allow to change the mac address.

    Signed-off-by: Frank Blaschka
    Signed-off-by: Jeff Garzik

    Frank Blaschka
     
  • Symptom: slow CCL response time
    Problem: non-ETH_P_802_2 packets are not delivered to NDH for
    CCL. But CCL detects missing sequence numbers, which
    cause a serious performance problem with CCL.
    Solution: assign sequence numbers only to 802.2 packets.

    Signed-off-by: Ursula Braun
    Signed-off-by: Frank Blaschka
    Signed-off-by: Jeff Garzik

    Ursula Braun
     
  • Problem: A STARTLAN command from the adapter may arrive while a
    qeth recovery is currently running with a failed qeth
    STARTLAN. Usually qeth schedules a recovery when
    receiving a STARTLAN command from the adapter. But
    another recovery scheduled while a recovery is already
    running never starts. Thus the qeth-administered
    lan_online flag remains zero in this scenario, even
    though the adapter-STARTLAN has happened.
    Solution: Set lan_online flag for a received STARTLAN from the
    adapter in case scheduled recovery does not start.

    Signed-off-by: Ursula Braun
    Signed-off-by: Frank Blaschka
    Signed-off-by: Jeff Garzik

    Ursula Braun
     
  • OSA-adapters do not have an address limitation for the qdio queue
    structures except the MAX storage level of the current processor.
    And due to a recent z/VM APAR there is no longer a restriction to
    allocate qdio structures below 2 GB.

    Signed-off-by: Ursula Braun
    Signed-off-by: Frank Blaschka
    Signed-off-by: Jeff Garzik

    Ursula Braun
     
  • 1. ip_list handling after deregister failure of multicast address:
    If error code "MC Address not found" is returned do not re-add
    multicast address to ip_list.
    For other error codes readd multicast address at the end of
    function qeth_delete_all_mc.
    2. ip_list handling after deregister failure or normal ip address:
    If error code "IP Address not found" is returned do not re-add
    multicast address to ip list.
    This is especially important in IP address takeover scenarios,
    to enable re-takeover of a taken over IP address.

    Signed-off-by: Ursula Braun
    Signed-off-by: Frank Blaschka
    Signed-off-by: Jeff Garzik

    Ursula Braun
     

08 Apr, 2008

6 commits