alistair23-linux/drivers/mtd
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
..
chips mtd: jedec_probe: add PSD4256G6V id 2009-09-23 00:07:00 -07:00
devices Merge git://git.infradead.org/mtd-2.6 2009-09-23 10:07:49 -07:00
lpddr
maps Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze 2009-09-24 09:01:44 -07:00
nand Merge git://git.infradead.org/mtd-2.6 2009-09-23 10:07:49 -07:00
onenand mtd: onenand: make onenand/generic.c more generic 2009-09-19 11:07:50 -07:00
tests mtd: tests: fix read buffer overflows 2009-09-04 09:40:17 +01:00
ubi Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-09-22 07:51:45 -07:00
afs.c mtd: afs: fix build warning 2009-09-04 09:38:14 +01:00
ar7part.c
cmdlinepart.c mtd: cmdlineparts: Use 64-bit format when printing a debug message. 2009-06-25 08:18:12 +01:00
ftl.c trivial: mtd: add __init/__exit macros to init/exitfunctions 2009-09-21 15:14:53 +02:00
inftlcore.c mtd: inftl: fix fold chain block number 2009-09-19 14:17:35 -07:00
inftlmount.c
internal.h
Kconfig Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze 2009-09-24 09:01:44 -07:00
Makefile
mtd_blkdevs.c block: use normal I/O path for discard requests 2009-10-01 21:19:30 +02:00
mtdbdi.c
mtdblock.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-09-20 05:55:36 -07:00
mtdblock_ro.c
mtdchar.c
mtdconcat.c mtd: mtdconcat: prevent a read from eraseregions[-1] 2009-09-19 11:18:46 -07:00
mtdcore.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-09-20 05:55:36 -07:00
mtdcore.h
mtdoops.c
mtdpart.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-09-20 05:55:36 -07:00
mtdsuper.c
nftlcore.c mtd: nftl: fix offset alignments 2009-09-03 14:59:16 +01:00
nftlmount.c
ofpart.c mtd: ofpart: Check availability of reg property instead of name property 2009-09-19 14:14:48 -07:00
redboot.c
rfd_ftl.c
ssfdc.c