Revision 1: Use %llu not %Lu in sscanf/printf format strings. Signed-Off-By: Alasdair G Kergon Revision 2: Store bdev between freeze and thaw. From: Christoph Hellwig Revision 3: Make __unlock_fs() void. From: Christoph Hellwig Revision 4: Allow freeze_bdev() to return an error. From: Christoph Hellwig Revision 5: Handle __lock_fs error etc. From: Christoph Hellwig Revision 6: Tidy dm_suspend. From: Christoph Hellwig Revision 7: Handle writes to a snapshot-origin device that has been extended since the snapshot was taken. Revision 8: More snapshot metadata reading into separate function. Revision 9: Move snapshot metadata loading to happen when table is created instead of when device is resumed. Origin writes don't trigger exceptions until snapshot table becomes active (when resume() is called on snapshot). NB This patch may break some existing LVM2 and EVMS operations. Revision 10: Flakey. Revision 11: dm-mpath.c needs to use a private workqueue (like other dm targets already do) to avoid interfering with users of the default workqueue. Signed-Off-By: Alasdair G Kergon Acked-by: Jens Axboe Signed-off-by: Lars Marowsky-Bree Signed-off-by: mikenc@us.ibm.com Revision 12: Make the sense data available in the bio end_io path on request. Signed-off-by: Lars Marowsky-Bree Signed-off-by: Jens Axboe Revision 13: Use the sense data in the dm-mpath hardware handlers. Signed-off-by: Lars Marowsky-Bree Revision 14: The dm emc hardware handler code memset the hardware handler structure to zero AFTER it had initialized the structure's spinlock field. Signed-Off-By: Alasdair G Kergon From: Dave Olien Revision 15: This patch makes some needlessly global code static. Signed-Off-By: Alasdair G Kergon Signed-off-by: Adrian Bunk Revision 16: dm multipath will report barriers as not supported with this patch. Signed-off-by: Lars Marowsky-Bree Revision 17: DM multipath error messages were beyond useless. From: Lars Marowsky-Bree Revision 18: mm kgdb