1. 17 4月, 2013 1 次提交
  2. 14 2月, 2013 2 次提交
  3. 30 11月, 2012 1 次提交
  4. 17 9月, 2012 1 次提交
    • S
      s390/dasd: fix pathgroup race · 12d7b107
      Stefan Haberland 提交于
      If a new path is available we need to verify the path data. If it is the
      first path for a device the stop bits are removed after path verification.
      If a pathgroup is established we need to set system characteristics for
      the lcu. Therefore I/O has to be started.
      If the device is stopped the set system characteristics worker may block
      the path verification worker and the device is blocked.
      
      Turn on failfast for set system characteristics CQR to prevent a deadlock
      with the path verification worker.
      
      If a pathgroup is established on a device that is not in use trigger path
      verification. Maybe we were not informed about a working path.
      Signed-off-by: NStefan Haberland <stefan.haberland@de.ibm.com>
      Reviewed-by: NStefan Weinhuber <wein@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      12d7b107
  5. 06 9月, 2012 1 次提交
  6. 20 7月, 2012 1 次提交
    • H
      s390/comments: unify copyright messages and remove file names · a53c8fab
      Heiko Carstens 提交于
      Remove the file name from the comment at top of many files. In most
      cases the file name was wrong anyway, so it's rather pointless.
      
      Also unify the IBM copyright statement. We did have a lot of sightly
      different statements and wanted to change them one after another
      whenever a file gets touched. However that never happened. Instead
      people start to take the old/"wrong" statements to use as a template
      for new files.
      So unify all of them in one go.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      a53c8fab
  7. 16 7月, 2012 1 次提交
  8. 11 3月, 2012 1 次提交
  9. 19 1月, 2012 1 次提交
  10. 04 1月, 2012 2 次提交
  11. 30 10月, 2011 4 次提交
  12. 03 8月, 2011 1 次提交
  13. 24 7月, 2011 1 次提交
    • S
      [S390] dasd: add enhanced DASD statistics interface · 4fa52aa7
      Stefan Weinhuber 提交于
      This patch extends the DASD statistics to allow for a more detailed
      analysis of DASD I/O operations. In particular we want the statistics
      to provide answers to the following questions:
      - How many requests used a PAV alias?
      - How many requests used High Performance FICON?
      - How do read request perform versus write requests?
      
      The existing DASD statistics interface has several shortcomings
      - The interface for global data is a formatted text table in procfs
        (/proc/dasd/statistics). The layout is meant for human readers and
        is not to easy to parse. If values get to large for the table
        layout, they get scaled down.
      - The statistics which are collected per block device can be
        accessed via an ioctl interface, which can only be extended by
        defining a new ioctl.
      - There is no statistics interface for individual PAV base and alias
        devices.
      
      To overcome theses shortcomings we create a new DASD statistics
      interface in debugfs. This interface will contain one entry for global
      data, one per DASD block device, and one per DASD base and alias
      device. Each file contains the statistic data in easy to parse
      name/value and name/array pairs. The existing interfaces will remain
      functional, but they will not be extended.
      Signed-off-by: NStefan Weinhuber <wein@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      4fa52aa7
  14. 10 5月, 2011 1 次提交
  15. 20 4月, 2011 1 次提交
    • S
      [S390] dasd: fix race between open and offline · 65f8da47
      Stefan Weinhuber 提交于
      The dasd_open function uses the private_data pointer of the gendisk to
      find the dasd_block structure that matches the gendisk. When a DASD
      device is set offline, we set the private_data pointer of the gendisk
      to NULL and later remove the dasd_block structure, but there is still
      a small race window, in which dasd_open could first read a pointer
      from the private_data field and then try to use it, after the structure
      has already been freed.
      To close this race window, we will store a pointer to the dasd_devmap
      structure of the base device in the private_data field. The devmap
      entries are not deleted, and we already have proper locking and
      reference counting in place, so that we can safely get from a devmap
      pointer to the dasd_device and dasd_block structures of the device.
      Signed-off-by: NStefan Weinhuber <wein@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      65f8da47
  16. 10 3月, 2011 1 次提交
  17. 05 1月, 2011 7 次提交
  18. 25 10月, 2010 2 次提交
  19. 26 9月, 2010 1 次提交
    • A
      s390/block: kill the big kernel lock · cfdb00a7
      Arnd Bergmann 提交于
      The dasd and dcssblk drivers gained the big
      kernel lock in the recent pushdown from the
      block layer, but they don't really need it,
      so remove the calls without a replacement.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: linux-s390@vger.kernel.org
      cfdb00a7
  20. 10 9月, 2010 1 次提交
    • T
      block: deprecate barrier and replace blk_queue_ordered() with blk_queue_flush() · 4913efe4
      Tejun Heo 提交于
      Barrier is deemed too heavy and will soon be replaced by FLUSH/FUA
      requests.  Deprecate barrier.  All REQ_HARDBARRIERs are failed with
      -EOPNOTSUPP and blk_queue_ordered() is replaced with simpler
      blk_queue_flush().
      
      blk_queue_flush() takes combinations of REQ_FLUSH and FUA.  If a
      device has write cache and can flush it, it should set REQ_FLUSH.  If
      the device can handle FUA writes, it should also set REQ_FUA.
      
      All blk_queue_ordered() users are converted.
      
      * ORDERED_DRAIN is mapped to 0 which is the default value.
      * ORDERED_DRAIN_FLUSH is mapped to REQ_FLUSH.
      * ORDERED_DRAIN_FLUSH_FUA is mapped to REQ_FLUSH | REQ_FUA.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Acked-by: NBoaz Harrosh <bharrosh@panasas.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
      Cc: Chris Wright <chrisw@sous-sol.org>
      Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Alasdair G Kergon <agk@redhat.com>
      Cc: Pierre Ossman <drzeus@drzeus.cx>
      Cc: Stefan Weinhuber <wein@de.ibm.com>
      Signed-off-by: NJens Axboe <jaxboe@fusionio.com>
      4913efe4
  21. 13 8月, 2010 1 次提交
  22. 08 8月, 2010 2 次提交
  23. 27 5月, 2010 1 次提交
  24. 17 5月, 2010 1 次提交
  25. 12 5月, 2010 1 次提交
    • S
      [S390] dasd: fix race between tasklet and dasd_sleep_on · 1c1e093c
      Stefan Weinhuber 提交于
      The various dasd_sleep_on functions use a global wait queue when
      waiting for a cqr. The wait condition checks the status and devlist
      fields of the cqr to determine if it is safe to continue. This
      evaluation may return true, although the tasklet has not finished
      processing of the cqr and the callback function has not been called
      yet. When the callback is finally called, the data in the cqr may
      already be invalid. The sleep_on wait condition needs a safe way to
      determine if the tasklet has finished processing. Use the
      callback_data field of the cqr to store a token, which is set by
      the callback function itself.
      
      Cc: <stable@kernel.org>
      Signed-off-by: NStefan Weinhuber <wein@de.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      1c1e093c
  26. 22 4月, 2010 1 次提交
  27. 08 3月, 2010 1 次提交