1. 09 10月, 2008 1 次提交
    • D
      Add 'discard' request handling · fb2dce86
      David Woodhouse 提交于
      Some block devices benefit from a hint that they can forget the contents
      of certain sectors. Add basic support for this to the block core, along
      with a 'blkdev_issue_discard()' helper function which issues such
      requests.
      
      The caller doesn't get to provide an end_io functio, since
      blkdev_issue_discard() will automatically split the request up into
      multiple bios if appropriate. Neither does the function wait for
      completion -- it's expected that callers won't care about when, or even
      _if_, the request completes. It's only a hint to the device anyway. By
      definition, the file system doesn't _care_ about these sectors any more.
      
      [With feedback from OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> and
      Jens Axboe <jens.axboe@oracle.com]
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      fb2dce86
  2. 01 5月, 2008 1 次提交
  3. 29 4月, 2008 3 次提交
    • F
      block: rename and export rq_init() · 2a4aa30c
      FUJITA Tomonori 提交于
      This rename rq_init() blk_rq_init() and export it. Any path that hands
      the request to the block layer needs to call it to initialize the
      request.
      
      This is a preparation for large command support, which needs to
      initialize the request in a proper way (that is, just doing a memset()
      will not work).
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      2a4aa30c
    • A
      block/blk-barrier.c:blk_ordered_cur_seq() mustn't be inline · 6f6a036e
      Adrian Bunk 提交于
      This patch fixes the following build error with UML and gcc 4.3:
      
      <--  snip  -->
      
      ...
        CC      block/blk-barrier.o
      /home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c: In function ‘blk_do_ordered’:
      /home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c:57: sorry, unimplemented: inlining failed in call to ‘blk_ordered_cur_seq’: function body not available
      /home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c:252: sorry, unimplemented: called from here
      /home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c:57: sorry, unimplemented: inlining failed in call to ‘blk_ordered_cur_seq’: function body not available
      /home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c:253: sorry, unimplemented: called from here
      make[2]: *** [block/blk-barrier.o] Error 1
      
      <--  snip  -->
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      6f6a036e
    • F
      block: make rq_init() do a full memset() · 1afb20f3
      FUJITA Tomonori 提交于
      This requires moving rq_init() from get_request() to blk_alloc_request().
      The upside is that we can now require an rq_init() from any path that
      wishes to hand the request to the block layer.
      
      rq_init() will be exported for the code that uses struct request
      without blk_get_request.
      
      This is a preparation for large command support, which needs to
      initialize struct request in a proper way (that is, just doing a
      memset() will not work).
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      1afb20f3
  4. 04 3月, 2008 1 次提交
  5. 01 2月, 2008 1 次提交
  6. 30 1月, 2008 1 次提交