1. 11 9月, 2009 15 次提交
  2. 02 9月, 2009 1 次提交
    • N
      block: Allow changing max_sectors_kb above the default 512 · c295fc05
      Nikanth Karthikesan 提交于
      The patch "block: Use accessor functions for queue limits"
      (ae03bf63) changed queue_max_sectors_store()
      to use blk_queue_max_sectors() instead of directly assigning the value.
      
      But blk_queue_max_sectors() differs a bit
      1. It sets both max_sectors_kb, and max_hw_sectors_kb
      2. Never allows one to change max_sectors_kb above BLK_DEF_MAX_SECTORS. If one
      specifies a value greater then max_hw_sectors is set to that value but
      max_sectors is set to BLK_DEF_MAX_SECTORS
      
      I am not sure whether blk_queue_max_sectors() should be changed, as it seems
      to be that way for a long time. And there may be callers dependent on that
      behaviour.
      
      This patch simply reverts to the older way of directly assigning the value to
      max_sectors as it was before.
      Signed-off-by: NNikanth Karthikesan <knikanth@suse.de>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      c295fc05
  3. 05 8月, 2009 1 次提交
  4. 01 8月, 2009 4 次提交
  5. 29 7月, 2009 1 次提交
    • J
      block: make the end_io functions be non-GPL exports · 56ad1740
      Jens Axboe 提交于
      Prior to the change for more sane end_io functions, we exported
      the helpers with the normal EXPORT_SYMBOL(). That got changed
      to _GPL() for the new interface. Revert that particular change,
      on the basis that this is basic functionality and doesn't dip
      into internal structures. If these exports can't be non-GPL,
      then we may as well make EXPORT_SYMBOL() imply GPL for
      everything.
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      56ad1740
  6. 28 7月, 2009 2 次提交
  7. 17 7月, 2009 2 次提交
    • X
      block: sysfs fix mismatched queue_var_{store,show} in 64bit kernel · 9cb308ce
      Xiaotian Feng 提交于
      In blk-sysfs.c, queue_var_store uses unsigned long to store data,
      but queue_var_show uses unsigned int to show data.  This causes,
      
      	# echo 70000000000 > /sys/block/<dev>/queue/read_ahead_kb
      	# cat /sys/block/<dev>/queue/read_ahead_kb => get wrong value
      
      Fix it by using unsigned long.
      
      While at it, convert queue_rq_affinity_show() such that it uses bool
      variable instead of explicit != 0 testing.
      Signed-off-by: NXiaotian Feng <dfeng@redhat.com>
      Signed-off-by: NTejun Heo <tj@kernel.org>
      9cb308ce
    • T
      block: fix failfast merge testing in elv_rq_merge_ok() · 0a09f431
      Tejun Heo 提交于
      Commit ab0fd1de tries to prevent merge
      of requests with different failfast settings.  In elv_rq_merge_ok(),
      it compares new bio's failfast flags against the merge target
      request's.  However, the flag testing accessors for bio and blk don't
      return boolean but the tested bit value directly and FAILFAST on bio
      and blk don't match, so directly comparing them with == results in
      false negative unnecessary preventing merge of readahead requests.
      
      This patch convert the results to boolean by negating them before
      comparison.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: Boaz Harrosh <bharrosh@panasas.com>
      Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      0a09f431
  8. 11 7月, 2009 2 次提交
  9. 04 7月, 2009 1 次提交
    • T
      block: don't merge requests of different failfast settings · ab0fd1de
      Tejun Heo 提交于
      Block layer used to merge requests and bios with different failfast
      settings.  This caused regular IOs to fail prematurely when they were
      merged into failfast requests for readahead.
      
      Niel Lambrechts could trigger the problem semi-reliably on ext4 when
      resuming from STR.  ext4 uses readahead when reading inodes and
      combined with the deterministic extra SATA PHY exception cycle during
      resume on the specific configuration, non-readahead inode read would
      fail causing ext4 errors.  Please read the following thread for
      details.
      
        http://lkml.org/lkml/2009/5/23/21
      
      This patch makes block layer reject merging if the failfast settings
      don't match.  This is correct but likely to lower IO performance by
      preventing regular IOs from mingling into surrounding readahead
      requests.  Changes to allow such mixed merges and handle errors
      correctly will be added later.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reported-by: NNiel Lambrechts <niel.lambrechts@gmail.com>
      Cc: Theodore Tso <tytso@mit.edu>
      Signed-off-by: NJens Axboe <axboe@carl.(none)>
      ab0fd1de
  10. 01 7月, 2009 6 次提交
  11. 21 6月, 2009 1 次提交
  12. 19 6月, 2009 2 次提交
  13. 18 6月, 2009 1 次提交
  14. 16 6月, 2009 1 次提交