1. 06 11月, 2008 8 次提交
  2. 28 10月, 2008 8 次提交
  3. 21 10月, 2008 6 次提交
  4. 17 10月, 2008 3 次提交
  5. 14 10月, 2008 5 次提交
  6. 13 10月, 2008 1 次提交
    • M
      [SCSI] block: separate failfast into multiple bits. · 6000a368
      Mike Christie 提交于
      Multipath is best at handling transport errors. If it gets a device
      error then there is not much the multipath layer can do. It will just
      access the same device but from a different path.
      
      This patch breaks up failfast into device, transport and driver errors.
      The multipath layers (md and dm mutlipath) only ask the lower levels to
      fast fail transport errors. The user of failfast, read ahead, will ask
      to fast fail on all errors.
      
      Note that blk_noretry_request will return true if any failfast bit
      is set. This allows drivers that do not support the multipath failfast
      bits to continue to fail on any failfast error like before. Drivers
      like scsi that are able to fail fast specific errors can check
      for the specific fail fast type. In the next patch I will convert
      scsi.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      6000a368
  7. 11 10月, 2008 9 次提交
    • H
      [S390] 3215: Remove tasklet. · 408aec3c
      Heiko Carstens 提交于
      The 3215 console irq handler used to schedule a tasklet. However the
      console irq handler also gets called from the infamous cio_tpi()
      function. Which in turn does something like
      
      local_bh_disable()
      [call console irq handler]
      _local_bh_enable()
      
      _local_bh_enable() prevents execution of softirqs, which is intended
      within cio_tpi(). However there might be a new softirq pending because
      irq handler scheduled a tasklet.
      In order to prevent this behaviour we just get rid of the tasklet.
      It's not doing much anyway.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      408aec3c
    • H
      [S390] console flush on panic / reboot · 2332ce1a
      Holger Smolinski 提交于
      The s390 console drivers use the unblank callback of the console
      structure to flush the console buffer. In case of a panic or a
      reboot the CPU doing the callback can block on the console i/o.
      The other CPUs in the system continue to work. For panic this is
      not a good idea.
      
      Replace the unblank callback with proper panic/reboot notifier.
      These get called after all but one CPU have been stopped.
      Signed-off-by: NHolger Smolinski <Holger.Smolinski@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      2332ce1a
    • N
      [S390] Add ioctl support for EMC Symmetrix Subsystem Control I/O · ab1d848f
      Nigel Hislop 提交于
      EMC Symmetrix Subsystem Control I/O through CKD dasd requires a
      specific parameter list sent to the array via a Perform Subsystem
      Function CCW. The Symmetrix response is retrieved from the array
      via a Read Subsystem Data CCW.
      Signed-off-by: NNigel Hislop <hislop_nigel@emc.com>
      Signed-off-by: NHannes Reinecke <hare@suse.de>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      ab1d848f
    • M
      [S390] xpram: per device block request queues. · 3ce66093
      Martin Schwidefsky 提交于
      The xpram driver uses a single block device queue for all of its
      devices so far. With recent kernels removing xpram module fails to
      clean up all sysfs files. The next time the xpram module is loaded
      you'll get warnings:
      
        WARNING: at fs/sysfs/dir.c:463 sysfs_add_one+0x5e/0x64()
        sysfs: duplicate filename '35:0' can not be created
        Modules linked in: xpram(+) [last unloaded: xpram]
      
      Followed by the usual WARN_ON output, followed by an error message
      from kobject_add_internal, followed by a badness in genhd. Allocating
      a block queue per device fixes this.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      3ce66093
    • S
      [S390] dasd: fix message flood for unsolicited interrupts · ada3df91
      Stefan Haberland 提交于
      In the unsolicited interupt handler fake IRBs from CIO have to be
      ignored because there is nothing to do.
      The function dump_sense should not be called if there is no sense
      data available.
      Signed-off-by: NStefan Haberland <stefan.haberland@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      ada3df91
    • H
      [S390] Move private simple udelay function to arch/s390/lib/delay.c. · 5a0d0e65
      Heiko Carstens 提交于
      Move cio's private simple udelay function to lib/delay.c and turn it
      into something much more readable. So we have all implementations
      at one place.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      5a0d0e65
    • H
      [S390] dcssblk: add >2G DCSSs support and stacked contiguous DCSSs support. · b2300b9e
      Hongjie Yang 提交于
      The DCSS block device driver is modified to add >2G DCSSs support and
      allow a DCSS block device to map to a set of contiguous DCSSs.  The
      extmem code is also modified to use new Diagnose x'64' subcodes for
      >2G DCSSs.
      Signed-off-by: NHongjie Yang <hongjie@us.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      b2300b9e
    • K
      [S390] qdio enhanced SIGA (iqdio) support. · 7a0f4755
      Klaus-Dieter Wacker 提交于
      Add support for z10 HiperSockets multiwrite SBALs on output
      queues. This is used on LPAR with EDDP enabled devices.
      Signed-off-by: NKlaus-Dieter Wacker <kdwacker@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      7a0f4755
    • H
      [S390] cio: fix cio_tpi. · b1e76613
      Heiko Carstens 提交于
      In cio_tpi only disable bottom halves when not in interrupt context.
      Otherwise a WARN_ON gets triggered. Besides that, when we are in
      interrupt context bottom halves are disabled anyway.
      Fixes this one:
      
      Badness at kernel/softirq.c:77
      Modules linked in:
      CPU: 2 Not tainted 2.6.26 #4
      Process swapper (pid: 0, task: 000000003fe83db0, ksp: 000000003fea7d28)
      Krnl PSW : 0404c00180000000 0000000000053f4e (__local_bh_disable+0xbe/0xcc)
                 R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:0 PM:0 EA:3
      Krnl GPRS: 0000000000008ee0 00000000005f95e0 0000000000000000 0000000000000001
                 000000000020be92 0000000000000000 0000000000000210 00000000005d36c0
                 000000003fb5f4d8 0000000000000000 000000000020bed0 000000003fb5f3c8
                 00000000009be920 0000000000364898 000000003fb5f408 000000003fb5f3c8
      Krnl Code: 0000000000053f42: bf2f1000           icm     %r2,15,0(%r1)
                 0000000000053f46: a774ffc5           brc     7,53ed0
                 0000000000053f4a: a7f40001           brc     15,53f4c
                >0000000000053f4e: a7280001           lhi     %r2,1
                 0000000000053f52: 50201000           st      %r2,0(%r1)
                 0000000000053f56: a7f4ffbd           brc     15,53ed0
                 0000000000053f5a: 0707               bcr     0,%r7
                 0000000000053f5c: a7f13fc0           tmll    %r15,16320
      Call Trace:
      ([<0000000000000210>] 0x210)
       [<0000000000053f86>] local_bh_disable+0x2a/0x38
       [<000000000020bed0>] wait_cons_dev+0xd4/0x154
       [<0000000000247cb2>] raw3215_make_room+0x6a/0x1a8
       [<000000000024861a>] raw3215_write+0x86/0x28c
       [<00000000002488a0>] con3215_write+0x80/0x110
       [<000000000004c3e0>] __call_console_drivers+0xc8/0xe4
       [<000000000004c47e>] _call_console_drivers+0x82/0xc4
       [<000000000004c744>] release_console_sem+0x218/0x2c0
       [<000000000004cf64>] vprintk+0x3c0/0x504
       [<0000000000354a4a>] printk+0x52/0x64
       [<0000000000088004>] __print_symbol+0x40/0x50
       [<0000000000071dbc>] print_stack_trace+0x78/0xac
       [<0000000000079e78>] print_lock_dependencies+0x148/0x208
       [<000000000007a050>] print_irq_inversion_bug+0x118/0x15c
       [<000000000007a106>] check_usage_forwards+0x72/0x84
       [<000000000007a36e>] mark_lock+0x1d2/0x594
       [<000000000007baca>] __lock_acquire+0x886/0xf48
       [<000000000007c234>] lock_acquire+0xa8/0xe0
       [<0000000000350316>] _write_lock+0x56/0x98
       [<000000000026cd92>] zfcp_erp_adapter_reopen+0x4e/0x8c
       [<000000000026f1e8>] zfcp_qdio_int_resp+0x2e4/0x2f4
       [<00000000002210f4>] qdio_int_handler+0x274/0x888
       [<00000000002177b6>] ccw_device_call_handler+0x6e/0xd8
       [<0000000000215336>] ccw_device_irq+0xd6/0x160
       [<0000000000212f88>] io_subchannel_irq+0x8c/0x118
       [<000000000020c120>] do_IRQ+0x1d0/0x1fc
       [<00000000000270b2>] io_return+0x0/0x8
       [<000000000001c8a4>] cpu_idle+0x178/0x21c
      ([<000000000001c884>] cpu_idle+0x158/0x21c)
       [<00000000003483a2>] start_secondary+0xb6/0xc8
      INFO: lockdep is turned off.
      Last Breaking-Event-Address:
       [<0000000000053f4a>] __local_bh_disable+0xba/0xcc
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      b1e76613