linux/drivers/staging/dst
Christoph Hellwig c15227de13 block: use normal I/O path for discard requests
prepare_discard_fn() was being called in a place where memory allocation
was effectively impossible.  This makes it inappropriate for all but
the most trivial translations of Linux's DISCARD operation to the block
command set.  Additionally adding a payload there makes the ownership
of the bio backing unclear as it's now allocated by the device driver
and not the submitter as usual.

It is replaced with QUEUE_FLAG_DISCARD which is used to indicate whether
the queue supports discard operations or not.  blkdev_issue_discard now
allocates a one-page, sector-length payload which is the right thing
for the common ATA and SCSI implementations.

The mtd implementation of prepare_discard_fn() is replaced with simply
checking for the request being a discard.

Largely based on a previous patch from Matthew Wilcox <matthew@wil.cx>
which did the prepare_discard_fn but not the different payload allocation
yet.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-10-01 21:19:30 +02:00
..
crypto.c Staging: dst: crypto processing. 2009-04-03 14:53:32 -07:00
dcore.c block: use normal I/O path for discard requests 2009-10-01 21:19:30 +02:00
export.c Staging: dst: correct error-handling code 2009-09-15 12:02:06 -07:00
Kconfig Staging: DST: fix build dependancy 2009-04-03 14:53:33 -07:00
Makefile Staging: dst: kconfig and makefile changes. 2009-04-03 14:53:32 -07:00
state.c
thread_pool.c Staging: DST: extend thread pool exit conditions. 2009-04-03 14:53:33 -07:00
trans.c Staging: dst: transactions. 2009-04-03 14:53:32 -07:00