Add 'discard' request handling
authorDavid Woodhouse <David.Woodhouse@intel.com>
Tue, 5 Aug 2008 17:01:53 +0000 (18:01 +0100)
committerJens Axboe <jens.axboe@oracle.com>
Thu, 9 Oct 2008 06:56:01 +0000 (08:56 +0200)
commitfb2dce862d9f9a68e6b9374579056ec9eca02a63
tree888e0fd7248c9329fa1aa3981043a2dc2457d488
parentd628eaef310533767ce68664873869c2d7f78f09
Add 'discard' request handling

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: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
block/blk-barrier.c
block/blk-core.c
block/blk-settings.c
include/linux/bio.h
include/linux/blkdev.h
include/linux/fs.h