aha/drivers
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
..
accessibility
acpi ACPI: kill "unused variable ‘i’" warning 2009-09-27 11:58:36 -07:00
amba
ata trivial: fix comment typo in drivers/ata/pata_hpt37x.c 2009-09-21 15:15:53 +02:00
atm Merge branch 'master' of git://git.infradead.org/users/dwmw2/solos-2.6 2009-09-22 15:18:59 -07:00
auxdisplay
base mm: oom analysis: add shmem vmstat 2009-09-22 07:17:27 -07:00
block cciss: fix build when !PROC_FS 2009-10-01 21:15:45 +02:00
bluetooth
cdrom sysctl: remove "struct file *" argument of ->proc_handler 2009-09-24 07:21:04 -07:00
char tty: Fix regressions caused by commit b50989dc 2009-09-27 13:35:16 -07:00
clocksource
connector proc connector: add event for process becoming session leader 2009-09-23 07:39:29 -07:00
cpufreq
cpuidle cpuidle: menu governor: reduce latency on exit 2009-09-22 07:17:45 -07:00
crypto
dca
dio
dma Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx into for-linus 2009-09-23 18:31:11 +10:00
edac edac: core: remove completion-wait for complete with rcu_barrier 2009-09-24 07:21:05 -07:00
eisa
firewire Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2009-09-23 09:43:22 -07:00
firmware mm: don't use alloc_bootmem_low() where not strictly needed 2009-09-22 07:17:38 -07:00
gpio Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2009-09-23 09:30:48 -07:00
gpu const: mark struct vm_struct_operations 2009-09-27 11:39:25 -07:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2009-09-22 07:51:28 -07:00
hwmon Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2009-09-23 15:20:16 -07:00
i2c ACPI: i2c-scmi: don't use acpi_device_uid() 2009-09-26 01:42:07 -04:00
ide Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2009-09-23 09:32:11 -07:00
idle
ieee1394 const: mark struct vm_struct_operations 2009-09-27 11:39:25 -07:00
ieee802154
infiniband const: mark struct vm_struct_operations 2009-09-27 11:39:25 -07:00
input input: fix build failures caused by Kconfig Winbond WPCD376I Consumer IR hardware driver Kconfig entry 2009-09-24 07:20:56 -07:00
isdn seq_file: constify seq_operations 2009-09-23 07:39:29 -07:00
leds Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds 2009-09-26 10:50:47 -07:00
lguest Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2009-09-23 09:23:45 -07:00
macintosh Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds 2009-09-26 10:50:47 -07:00
mca
md Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx into for-linus 2009-09-23 18:31:11 +10:00
media const: mark struct vm_struct_operations 2009-09-27 11:39:25 -07:00
memstick memstick: move dev_dbg 2009-09-24 07:21:05 -07:00
message Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-09-22 07:51:45 -07:00
mfd mfd/gpio: add a GPIO interface to the UCB1400 MFD chip driver via gpiolib 2009-09-23 07:39:48 -07:00
misc const: mark struct vm_struct_operations 2009-09-27 11:39:25 -07:00
mmc Merge branch 'origin' into for-linus 2009-09-24 21:22:33 +01:00
mtd block: use normal I/O path for discard requests 2009-10-01 21:19:30 +02:00
net headers: kref.h redux 2009-09-26 10:17:19 -07:00
nubus
of of: remove "stm,m25p40" alias 2009-09-23 07:39:43 -07:00
oprofile cpumask: use zalloc_cpumask_var() where possible 2009-09-24 09:34:24 +09:30
parisc mm: replace various uses of num_physpages by totalram_pages 2009-09-22 07:17:38 -07:00
parport sysctl: remove "struct file *" argument of ->proc_handler 2009-09-24 07:21:04 -07:00
pci ACPICA: fixup after acpi_get_object_info() change 2009-09-25 14:24:22 -04:00
pcmcia Merge branch 'origin' into for-linus 2009-09-24 21:22:33 +01:00
platform thinkpad-acpi: fix CONFIG_THINKPAD_ACPI_HOTKEY_POLL build problem 2009-09-27 02:13:06 -04:00
pnp ACPI: remove acpi_device.flags.hardware_id 2009-09-25 15:09:48 -04:00
power Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-09-23 03:49:27 +04:00
pps
ps3
rapidio
regulator regulator: fix voltage range in da9034 ldo12 2009-09-22 13:58:23 +01:00
rtc Merge branch 'origin' into for-linus 2009-09-24 21:22:33 +01:00
s390 headers: utsname.h redux 2009-09-23 18:13:10 -07:00
sbus const: make block_device_operations const 2009-09-22 07:17:25 -07:00
scsi const: mark struct vm_struct_operations 2009-09-27 11:39:25 -07:00
serial Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2009-09-24 17:22:31 -07:00
sfi
sh
sn
spi Merge branch 'origin' into for-linus 2009-09-24 21:22:33 +01:00
ssb ssb/sdio: fix printk format warnings 2009-09-23 11:35:41 -04:00
staging block: use normal I/O path for discard requests 2009-10-01 21:19:30 +02:00
tc
telephony
thermal
uio const: mark struct vm_struct_operations 2009-09-27 11:39:25 -07:00
usb tty: Fix regressions caused by commit b50989dc 2009-09-27 13:35:16 -07:00
uwb trivial: remove unnecessary semicolons 2009-09-21 15:14:58 +02:00
video const: mark struct vm_struct_operations 2009-09-27 11:39:25 -07:00
virtio virtio: add virtio IDs file 2009-09-23 22:26:32 +09:30
vlynq drivers/vlynq/vlynq.c: fix resource size off by 1 error 2009-09-24 07:21:05 -07:00
w1
watchdog [WATCHDOG] Add support for the Avionic Design Xanthos watchdog timer. 2009-09-25 08:38:16 +00:00
xen Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-09-22 07:51:45 -07:00
zorro
Kconfig
Makefile Merge git://git.infradead.org/mtd-2.6 2009-09-23 10:07:49 -07:00