2.6.5-udm5 - Update to -mm6, which includes patches 2 through 10 from -udm4. - AJ's dm-mirror fix. Download: http://evms.sourceforge.net/dm/2.6.5/2.6.5-udm5.tar.bz2 Browse: http://evms.sourceforge.net/dm/2.6.5/2.6.5-udm5/ -- Kevin Corry kevcorry@xxxxxxxxxx http://evms.sourceforge.net/ Revision 1: -mm6 Revision 2: Documentation for the linear target. The last 2 scripts still need testing. Revision 3: VFS lock patch [Chris Mason] Revision 4: Fix XFS to work with the new VFS-lock patch. Revision 5: Lock the filesystem while a device is suspended. [Kevin Corry, Joe Thornber] Revision 6: Multipath target Revision 7: Multipath: move the path failure decision to the path selector. Some ps's may want to select paths that have a couple failures over one that has N failures. If a ps has to track this info there didn't seem to be a compelling reason to also do it in dm-mpath.c. Well code duplication and sharing is a good reason to do it in dm-mpath. It would be nice if I could just add an init function to any ps and leach off other people's work :) but is that too modular? Additionally, if a ps fails to activate a path or cannot use it during initialization it may want to fail it. [Mike Christie] Revision 8: Multipath: exports the register and unregister ps functions. [Mike Christie] Revision 9: Multipath: makes priority group / path-selector initialization possible. Remapping failed bios from end_io was not nice becuase you couldn't choose a path until you knew a group was activated and what paths in that group were still functional. Plus, incoming IO needed to be mapped while failures were coming in. I guess you could just make map_io sleep or do some internal queueing. I choose the former, so I had to move the remap map_io call to dispatch_failed_ios and add a get_mapinfo accessor function. I think queueing incoming io while you finish the failed may be better, but targets calling dm's queueing mechanism didn't seem right, and reimplementing it didn't either. Well, I do not know if it is better or not. While paths are failing performance is going to take a hit so io ordering may only be a problem if you are concerned with journaling or barrier type stuff (but as we end up sending IO down multiple queues we cannot gaurantee ordering on the normal IO code path anyways). [Mike Christie] Revision 10: Multipath: adds another accessor so path-selectors can access a path's bdev. This is necessary for devices which need to send commands down to the device. (see rdac-test-support.patch) [Mike Christie] Revision 11: Multipath: dispatch_failed_ios can sleep. It should not disrupt other users of the default work queue. Under heavy load or group/ps initializations on a single processor machine, this conflict becomes painful. [Mike Christie] Revision 12: Multipath: attached patch initializes current_count correctly. [Mike Christie] Revision 13: dm-io Revision 14: kcopyd Revision 15: snapshot target. Revision 16: mirror target. Revision 17: Exchange slow bit-by-bit count to use hweight32 to count bits per uint32_t [AJ Lewis] Revision 18: Flakey target Revision 19: dm-zero