As usual this is available via: http://people.sistina.com/~thornber/dm/index.html Changes since 2.6.0-udm3 ------------------------ Revision 59: Add a suspend method to the log that flushes to disk, in case the mirror has been recovering without any io. Revision 60: Make log->disk_header 1 sector in size rather than the actual size of the struct, since we can't read less than a sector. Revision 61: When doing multiregion writes in dm-io.c the dpages struct wasn't being rewound for each region. Revision 62: With 32 bit sector_t the block device size _in bytes_ is also cut to 32 bit in __set_size when the block device is mount (a filesystem mounted). The argument should be cast to loff_t before expanding the sector count to a byte count and calling i_size_write. [Christophe Saout] Revision 63: Misc snapshot updates: o Minumum hash size of 64 instead of setting hash size to 64 if the calculated size would be smaller than 1. o Only use list_entry if we are working on a list. o Check for drop_snapshot function before calling it (transient snapshots don't have one). o Use correct size prefix in status sprintf for chunk size. o Use C99 initializers. [Christophe Saout] Revision 64: Lift the bio_list code from dm-raid1.c into dm-bio-list.h [Christophe Saout] Revision 65: Modify dm.c, dm-raid1.c, dm-snap.c and dm-crypt.c to use the functions in dm-bio-list.h. [Christophe Saout] Revision 66: path->fail_count needs to be initialized to non-zero, or a failed path will never actually be failed. Set to 1 for now, but this number can be increased if we don't want to fail the path on the very first I/O error. [Kevin Corry] Revision 67: Make a #define for the minimum-io value. [Kevin Corry] Revision 68: We can't depend on the test_bio being the same every time it is submitted. Need to reset some of the fields in the bio each time. [Kevin Corry] Revision 69: Add a pointer from the priority-group back to the multipath context. [Kevin Corry] Revision 70: Change the failed_ios list in the multipath structure from a stack to a queue using the new bio_list services. [Kevin Corry] Revision 71: In test_path, instead of driving the test I/O, queue it on a list. When all test I/Os have been queued, they can then be driven down without having to hold the path_lock. [Kevin Corry] Revision 72: m->path_lock needs to be locked with spin_lock_irqsave() and unlocked with spin_lock_irqrestore(). [Kevin Corry] Revision 73: If a test bio completes successfully and the path is currently invalid, reactivate the path. [Kevin Corry]