linux/drivers/block
Bartlomiej Zolnierkiewicz 394c6cc63c mg_disk: fix issue with data integrity on error in mg_write()
We cannot acknowledge the sector write before checking its status
(which is done on the next loop iteration) and we also need to do
the final status register check after writing the last sector.

Fix mg_write() to match mg_write_intr() in this regard.

While at it:
- add mg_read_one() and mg_write_one() helpers
- always use MG_SECTOR_SIZE and remove MG_STORAGE_BUFFER_SIZE

[bart: thanks to Tejun for porting the patch over recent block changes]

Cc: unsik Kim <donari75@gmail.com>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

===================================================================
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-07-28 08:56:34 +02:00
..
aoe Driver Core: aoe: add nodename for aoe devices 2009-06-15 21:30:26 -07:00
paride block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
amiflop.c Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
ataflop.c ataflop: adjust NULL test 2009-07-17 15:29:58 +09:00
brd.c ramdisk: remove long-deprecated "ramdisk=" boot-time parameter 2009-06-10 23:07:15 +02:00
cciss_cmd.h cciss: Ignore stale commands after reboot 2009-07-03 21:06:45 +02:00
cciss_scsi.c cciss: decode unit attention in SCSI error handling code 2009-06-09 05:47:44 +02:00
cciss_scsi.h
cciss.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
cciss.h cciss: Remove no longer needed sendcmd reject processing code 2009-06-09 05:47:43 +02:00
cpqarray.c block: Do away with the notion of hardsect_size 2009-05-22 23:22:54 +02:00
cpqarray.h
cryptoloop.c
DAC960.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
DAC960.h
floppy.c floppy: fix lock imbalance 2009-06-30 18:56:01 -07:00
hd.c hd: stop defining MAJOR_NR 2009-06-18 09:56:20 +02:00
ida_cmd.h
ida_ioctl.h
Kconfig osdblk: a Linux block device for OSD objects 2009-06-24 12:25:02 +03:00
loop.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
Makefile osdblk: a Linux block device for OSD objects 2009-06-24 12:25:02 +03:00
mg_disk.c mg_disk: fix issue with data integrity on error in mg_write() 2009-07-28 08:56:34 +02:00
nbd.c block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
osdblk.c osdblk: Adjust queue limits to lower device's limits 2009-06-24 12:27:01 +03:00
pktcdvd.c Fix congestion_wait() sync/async vs read/write confusion 2009-07-10 20:31:53 +02:00
ps3disk.c block/ps3: remove driver_data direct access of struct device 2009-06-15 21:30:28 -07:00
ps3vram.c block/ps3: remove driver_data direct access of struct device 2009-06-15 21:30:28 -07:00
smart1,2.h
sunvdc.c block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
swim3.c block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
swim_asm.S
swim.c block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
sx8.c block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
ub.c block: Do away with the notion of hardsect_size 2009-05-22 23:22:54 +02:00
umem.c umem: fix request_queue lock warning 2009-04-24 08:54:21 +02:00
umem.h
viodasd.c block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
virtio_blk.c Merge branch 'tj-block-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc 2009-07-22 10:06:33 -07:00
xd.c block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
xd.h
xen-blkfront.c xen block: remove driver_data direct access of struct device 2009-06-15 21:30:27 -07:00
xsysace.c Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
z2ram.c z2ram: Small cleanup for z2ram.c 2009-07-15 11:27:40 +09:00