OpenCloudOS-Kernel/drivers
Tejun Heo 5f49f63178 block: set rq->resid_len to blk_rq_bytes() on issue
In commit c3a4d78c58, while introducing
rq->resid_len, the default value of residue count was changed from
full count to zero.  The conversion was done under the assumption that
when a request fails residue count wasn't defined.  However, Boaz and
James pointed out that this wasn't true and the residue count should
be preserved for failed requests too.

This patchset restores the original behavior by setting rq->resid_len
to blk_rq_bytes(rq) on request start and restoring explicit clearing
in affected drivers.  While at it, take advantage of the fact that
rq->resid_len is set to full count where applicable.

* ide-cd: rq->resid_len cleared on pc success

* mptsas: req->resid_len cleared on success

* sas_expander: rsp/req->resid_len cleared on success

* mpt2sas_transport: req->resid_len cleared on success

* ide-cd, ide-tape, mptsas, sas_host_smp, mpt2sas_transport, ub: take
  advantage of initial full count to simplify code

Boaz Harrosh spotted bug in resid_len initialization.  Fixed as
suggested.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Borislav Petkov <petkovbb@googlemail.com>
Cc: Boaz Harrosh <bharrosh@panasas.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Pete Zaitcev <zaitcev@redhat.com>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Eric Moore <Eric.Moore@lsi.com>
Cc: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-05-19 11:36:08 +02:00
..
accessibility
acpi Merge branch 'bjorn.button' into release 2009-04-24 10:42:29 -04:00
amba
ata block: cleanup rq->data_len usages 2009-05-11 09:50:55 +02:00
atm Replace all DMA_nBIT_MASK macro with DMA_BIT_MASK(n) 2009-04-13 15:04:33 -07:00
auxdisplay
base driver synchronization: make scsi_wait_scan more advanced 2009-04-21 19:40:00 -07:00
block block: set rq->resid_len to blk_rq_bytes() on issue 2009-05-19 11:36:08 +02:00
bluetooth
cdrom block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
char virtio-rng: Remove false BUG for spurious callbacks 2009-04-24 13:28:30 -07:00
clocksource clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
connector
cpufreq
cpuidle
crypto dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
dca
dio
dma dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
edac edac: ppc mpc85xx fix mc err detect 2009-04-21 13:41:51 -07:00
eisa
firewire
firmware dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
gpio Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-04-03 15:24:35 -07:00
gpu ACPI, i915: Register ACPI video even when not modesetting 2009-04-24 00:42:06 -04:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2009-04-03 15:25:44 -07:00
hwmon hwmon: sht15 humidity sensor driver 2009-04-13 15:04:29 -07:00
i2c i2c: Let new-style drivers implement attach_adapter 2009-04-13 17:02:14 +02:00
ide block: set rq->resid_len to blk_rq_bytes() on issue 2009-05-19 11:36:08 +02:00
idle dma-mapping: replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64) 2009-04-07 08:31:10 -07:00
ieee1394 dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
infiniband Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2009-04-09 16:42:26 -07:00
input drivers/input/serio/hp_sdc.c: fix crash when removing hp_sdc module 2009-04-21 13:41:49 -07:00
isdn USB: add reset endpoint operations 2009-04-17 10:50:27 -07:00
leds leds: just ignore invalid GPIOs in leds-gpio 2009-04-08 14:13:48 +01:00
lguest lguest: fix guest crash on non-linear addresses in gdt pvops 2009-04-19 23:14:01 +09:30
macintosh Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 2009-04-24 08:16:05 -07:00
mca
md Merge branch 'for-linus' of git://neil.brown.name/md 2009-04-20 08:37:37 -07:00
media Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2009-04-24 08:36:06 -07:00
memstick block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
message block: set rq->resid_len to blk_rq_bytes() on issue 2009-05-19 11:36:08 +02:00
mfd mfd: fix da903x warning 2009-04-05 00:32:25 +02:00
misc sgi-xp/sgi-gru: allow modules to load on non-uv systems 2009-04-21 13:41:50 -07:00
mmc block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
mtd block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2009-04-24 07:46:51 -07:00
nubus
of
oprofile Merge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-04-05 11:04:19 -07:00
parisc parport: Fix various uses of parport_pc 2009-04-14 08:48:50 -07:00
parport parport: Use the PCI IRQ if offered 2009-04-07 08:44:06 -07:00
pci Merge git://git.infradead.org/iommu-2.6 2009-04-13 11:35:50 -07:00
pcmcia [ARM] 5458/1: pcmcia: pxa2xx-sharpsl: check if we do have Scoop config 2009-04-23 23:25:40 +01:00
platform Merge branch 'sony-laptop' into release 2009-04-24 01:34:52 -04:00
pnp dma-mapping: replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24) 2009-04-07 08:31:12 -07:00
power Merge git://git.infradead.org/battery-2.6 2009-04-08 17:45:02 -07:00
ps3
rapidio dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
regulator
rtc rtc-cmos: fix printk output 2009-04-21 13:41:50 -07:00
s390 block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
sbus block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
scsi block: set rq->resid_len to blk_rq_bytes() on issue 2009-05-19 11:36:08 +02:00
serial serial: remove contact data 2009-04-24 07:52:08 -07:00
sh sh: intc: Added resume from hibernation support to the intc 2009-04-06 08:55:19 -07:00
sn dma-mapping: replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64) 2009-04-07 08:31:10 -07:00
spi spi: pxa2xx: limit reaches -1 2009-04-21 13:41:49 -07:00
ssb
staging go7007: Convert to the new i2c device binding model 2009-04-21 21:47:22 +02:00
tc
telephony
thermal
uio UIO: fix specific device driver missing statement for depmod 2009-04-16 16:17:11 -07:00
usb USB: otg: Fix bug on remove path without transceiver 2009-04-23 14:15:31 -07:00
uwb dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
video pxafb: lcsr1 is unused without CONFIG_FB_PXA_OVERLAY 2009-04-21 13:41:47 -07:00
virtio virtio: fix suspend when using virtio_balloon 2009-04-19 23:14:01 +09:30
w1 mfd: remove DS1WM clock handling 2009-04-05 00:32:22 +02:00
watchdog [ARM] 5460/1: Orion: reduce namespace pollution 2009-04-23 23:25:41 +01:00
xen xen: honour VCPU availability on boot 2009-04-08 14:25:51 -07:00
zorro
Kconfig
Makefile