linux/drivers/staging
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
..
agnx Staging: agnx: remove flush_workqueue() 2009-09-15 12:02:29 -07:00
altpciechdma Staging: altpciechdma: 64bit type warning fix 2009-09-15 12:02:26 -07:00
android staging: Make some structures static 2009-09-15 12:02:24 -07:00
asus_oled Staging: asus_oled: Cleaned up checkpatch issues. 2009-09-15 12:02:33 -07:00
b3dfg
comedi Staging: comedi: addi-data: NULL dereference of amcc in v_pci_card_list_init() 2009-09-15 12:02:34 -07:00
cowloop Staging: cowloop: remove kernel version checks 2009-09-15 12:02:33 -07:00
cx25821 V4L/DVB (12851): cx25821/Makefile: Cleanup 2009-09-19 00:13:35 -03:00
dream Staging: dream: introduce missing kfree 2009-09-15 12:02:34 -07:00
dst block: use normal I/O path for discard requests 2009-10-01 21:19:30 +02:00
echo
et131x Staging: et131x: kill off the TXDMA CSR type 2009-09-15 12:02:29 -07:00
frontier
go7007 V4L/DVB (13037): go7007: Revert compatibility code added at the wrong place 2009-09-22 21:53:26 -03:00
hv
iio Driver-Core: fix devnode callbacks for dabusb and industrialio 2009-09-21 07:36:33 -07:00
line6 Staging: line6: ffzb returns an unsigned integer 2009-09-15 12:02:34 -07:00
mimio
octeon MIPS: Octeon: False positive timeout 2009-09-17 20:07:41 +02:00
otus staging: Make some structures static 2009-09-15 12:02:24 -07:00
p9auth
panel Staging: panel: Add support for TI CLCD interface 2009-09-15 12:02:29 -07:00
phison
poch
pohmelfs Staging: pohmelfs: sync with the development tree 2009-09-15 12:02:30 -07:00
quatech_usb2
rar
rt2860 trivial: fix typo "to to" in multiple files 2009-09-21 15:14:55 +02:00
rt2870 Staging: rt2870: remove old firmware 2009-09-15 12:02:23 -07:00
rt3070 Staging: remove no longer needed rt3070 driver 2009-09-15 12:02:23 -07:00
rt3090 Staging: rt3090: enable NATIVE_WPA_SUPPLICANT_SUPPORT option 2009-09-15 12:02:34 -07:00
rtl8187se
rtl8192e Staging: rtl8192e: Drop unnecessary NULL test 2009-09-15 12:02:33 -07:00
rtl8192su
sep
serqt_usb2
slicoss
stlc45xx spi: prefix modalias with "spi:" 2009-09-23 07:39:43 -07:00
udlfb
usbip
vme
vt6655 Staging: vt665x: fix built-in compiling 2009-09-15 12:02:34 -07:00
vt6656 Staging: vt665x: fix built-in compiling 2009-09-15 12:02:34 -07:00
winbond
wlan-ng
Kconfig Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-09-24 15:13:11 -07:00
Makefile Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-09-24 15:13:11 -07:00
staging.c