Revision 1: Documentation for the linear target. The last 2 scripts still need testing. Revision 2: dm-ioctl.c: Fix an OB1 error when calculating an output buffer size, that could cause a missing null termininator in the 'list devices' ioctl results. [Steffan Paletta] Revision 3: In __map_bio(), if the target returns an error while mapping the I/O, the cloned bio needs to be freed. Revision 4: Replace dm_[add|remove]_wait_queue() with dm_wait_event(). Some testing of DM multipath has turned up a problem with the DEVICE_WAIT command. In the tests, while performing a DEVICE_WAIT on a multipath device, the command sometimes returns immediately, even though the event-number is correct and no path-failure has occurred to trigger an event. The problem was tracked down to the call to schedule() in dev_wait(), which would return even though it was not woken up by a DM table event. This patch moves the responsibility for waiting from the ioctl interface into the core driver, and uses wait_event_interruptible() instead of relying on wait-queues and schedule(). Revision 5: DM: Add static and __init qualifiers. [Dave Olien] Revision 6: dm-table.c: Proper usage of dm_vcalloc. [Dave Olien] Revision 7: Multipath target Revision 8: dm-io Revision 9: dm-io.c: - Add static qualifiers - Export dm_io_sync_bvec [Dave Olien] Revision 10: kcopyd Revision 11: Force kcopyd to be single-threaded. For now, snapshotting cannot handle multiple kcopyd threads. When we determine the correct way to make snapshot safe for a multithreaded kcopyd, this patch can be removed. Revision 12: kcopyd: Add __init qualifier. [Dave Olien] Revision 13: snapshot target. Revision 14: Snapshot: Make calc_max_buckets return a constant 2M for now (need a proper fix for this). [Chris Mason] Revision 15: dm-exception-store: remove dead code. [Dave Olien] Revision 16: dm-snapshot: Add static qualifiers. [Dave Olien] Revision 17: dm-snap.c: Remove check_free_space() Revision 18: dm-snap.c: Remove old DEBUG log statements. Revision 19: dm-snap.c: Remove old FIXME comments. Revision 20: mirror target. Revision 21: Mirror: Exchange slow bit-by-bit count to use hweight32 to count bits per uint32_t. [AJ Lewis] Revision 22: Mirror: flush the log as soon as a region is updated. (Needs testing). Revision 23: dm-log.c: - Check return value from try_module_get(). - Add .module field to dirty_log_type struct. - Add __init qualifier. - Don't need to export init and exit routines. [Dave Olien] Revision 24: Flakey target Revision 25: dm-flakey.c: Add __exit qualfier. [Dave Olien] Revision 26: dm-zero Revision 27: dm-multipath: ps-refcount.patch Fixes the refcounting on the path-selectors. And, exports the register/unregister functions. [Mike Christie] Revision 28: dm-multipath: mv-path-code-to-ps.patch Some path-selectors will want to choose paths that have a couple of failed IOs vs always failing paths with X number of failures. Also some path- selectors will want to select a path by detecting congestion or some other determination than X bios have been sent. [Mike Christie] Revision 29: dm-multipath: ps-init-fn.patch This adds the ps-init function. [Mike Christie] Revision 30: dm-snap.c: Remove unnecessary BUG. If no snapshots are found for an origin device, just submit the I/O without any extra processing.