1. 13 9月, 2017 1 次提交
  2. 08 9月, 2017 1 次提交
  3. 29 8月, 2017 1 次提交
  4. 23 8月, 2017 2 次提交
  5. 05 7月, 2017 1 次提交
    • S
      s390/dasd: remove unneeded code · 4bca698f
      Sebastian Ott 提交于
      Fix these set but not used warnings:
      
      drivers/s390/block/dasd.c:3933:6: warning: variable 'rc' set but not used [-Wunused-but-set-variable]
      drivers/s390/block/dasd_alias.c:757:6: warning: variable 'rc' set but not used [-Wunused-but-set-variable]
      
      In addition to that remove the test if an unsigned is < 0:
      
      drivers/s390/block/dasd_devmap.c:153:11: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
      Signed-off-by: NSebastian Ott <sebott@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      4bca698f
  6. 12 6月, 2017 2 次提交
    • S
      s390/dasd: fix hanging safe offline · e8ac0155
      Stefan Haberland 提交于
      The safe offline processing may hang forever because it waits for I/O
      which can not be started because of the offline flag that prevents new
      I/O from being started.
      
      Allow I/O to be started during safe offline processing because in this
      special case we take care that the queues are empty before throwing away
      the device.
      Signed-off-by: NStefan Haberland <sth@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      e8ac0155
    • S
      s390/dasd: fix unusable device after safe offline processing · 2757fe1d
      Stefan Haberland 提交于
      The safe offline processing needs, as well as the normal offline
      processing, to be locked against multiple parallel executions. But it
      should be able to be overtaken by a normal offline processing to make sure
      that the device does not wait forever for outstanding I/O if the user
      wants to.
      
      Unfortunately the parallel processing of safe offline and normal offline
      might lead to a race situation where both threads report successful
      execution to the CIO layer which in turn tries to deregister the kobject
      of the device twice. This leads to a
      
      refcount_t: underflow; use-after-free.
      
      error and the device is not able to be set online again afterwards without
      a reboot.
      
      Correct the locking of the safe offline processing by doing the following:
      	- Use the cdev lock to secure all set and test operations to the
      	  device flags.
      	- Two safe offline processes are locked against each other using
      	  the DASD_FLAG_SAFE_OFFLINE and DASD_FLAG_SAFE_OFFLINE_RUNNING
      	  device flags.
      	  The differentiation between offline triggered and offline running
      	  is needed since the normal offline attribute is owned by CIO and
      	  we have to pass over control in between.
      	- The dasd_generic_set_offline process handles the offline
      	  processing. It is locked against parallel execution using the
      	  DASD_FLAG_OFFLINE.
      	- Only a running safe offline should be able to be overtaken by a
      	  single normal offline. This is ensured by clearing the
      	  DASD_FLAG_SAFE_OFFLINE_RUNNING flag when a normal offline
      	  overtakes. So this can only happen ones.
      	- The safe offline just aborts in this case doing nothing and
      	  the normal offline processing finishes as usual.
      Signed-off-by: NStefan Haberland <sth@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      2757fe1d
  7. 09 6月, 2017 1 次提交
    • C
      block: introduce new block status code type · 2a842aca
      Christoph Hellwig 提交于
      Currently we use nornal Linux errno values in the block layer, and while
      we accept any error a few have overloaded magic meanings.  This patch
      instead introduces a new  blk_status_t value that holds block layer specific
      status codes and explicitly explains their meaning.  Helpers to convert from
      and to the previous special meanings are provided for now, but I suspect
      we want to get rid of them in the long run - those drivers that have a
      errno input (e.g. networking) usually get errnos that don't know about
      the special block layer overloads, and similarly returning them to userspace
      will usually return somethings that strictly speaking isn't correct
      for file system operations, but that's left as an exercise for later.
      
      For now the set of errors is a very limited set that closely corresponds
      to the previous overloaded errno values, but there is some low hanging
      fruite to improve it.
      
      blk_status_t (ab)uses the sparse __bitwise annotations to allow for sparse
      typechecking, so that we can easily catch places passing the wrong values.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      2a842aca
  8. 31 1月, 2017 2 次提交
  9. 12 12月, 2016 2 次提交
  10. 28 10月, 2016 3 次提交
  11. 26 9月, 2016 2 次提交
  12. 20 9月, 2016 1 次提交
  13. 10 8月, 2016 1 次提交
  14. 16 4月, 2016 2 次提交
  15. 17 2月, 2016 1 次提交
  16. 30 12月, 2015 1 次提交
  17. 14 10月, 2015 1 次提交
  18. 13 7月, 2015 1 次提交
  19. 13 5月, 2015 1 次提交
  20. 15 4月, 2015 3 次提交
  21. 25 3月, 2015 2 次提交
  22. 29 1月, 2015 2 次提交
  23. 28 11月, 2014 3 次提交
  24. 09 10月, 2014 2 次提交
  25. 22 7月, 2014 1 次提交