mg_disk: fix issue with data integrity on error in mg_write()
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Tue, 28 Jul 2009 06:56:34 +0000 (08:56 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Tue, 28 Jul 2009 06:56:34 +0000 (08:56 +0200)
commit394c6cc63c1d6900ad7498a3221a1d48fc00c4fa
tree56676e59075c4533b751a9c9c3296bed5958c792
parenteb32baec15c38ae6f06cb898a9f791578c5f8c79
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>
drivers/block/mg_disk.c