http://people.sistina.com/~thornber/dm/patches/2.6-unstable/2.6.4/2.6.4-udm1.tar.bz2 There are a lot of changes in here, most of which haven't been thoroughly tested: I'm particularly interested in hearing from people running x86_64 architecture machines to see if the ioctl hack I put in fixes things for them when running 32 bit binaries. Confirmation that other 64bit arches still work would also be good. Miquel van Smoorenburg and I have rejigged the core locking in dm.c to allow Jens Axboe to remove the global lock around queue plugging. This patch and Jens is already merged into -mm2. Andrew Morton has been doing some work that has resulted in the removal of struct page->list. Which we were using with some trepidation in various places. This has forced me to recode these bits, the result is cleaner IMO (see the dm-io.c patches). As a result of Jens' global unplug work we've had to revist all the uses of blk_run_queues(), and be specific about which queues we need to run. In a lot of cases I've just knocked them out completely where they appear to be hangovers from 2.4 weirdness. If you start getting lumpy io with multipath, snapshots or mirroring this is probably the reason - please yell. I'm expecting a new VFS lock patch from Chris Mason at some point in response to the discussions on lkml, for now the old one is still in there. As usual any test reports would be very welcome. - Joe Revision 1: -mm2 Revision 2: -mm2 errata Revision 3: Fix 64/32 bit ioctl problems. Revision 4: Check the uptodate flag in sub-bios to see if there was an error. [Mike Christie] Revision 5: Handle interrupts within suspend. Revision 6: dm.c: Use waitqueue_active() to save a couple of cycles. I couldn't think of a reason why event_callback() was using wake_up_interruptible() rather than plain old wake_up(), so changed it. Revision 7: VFS lock patch. [Chris Mason] Revision 8: Lock the filesystem while a device is suspended. [Kevin Corry, Joe Thornber] Revision 9: Multipath target Revision 10: dm-mpath.c: Remove blk_run_queues() after resubmitting failed ios. Revision 11: dm-io Revision 12: dm-io: stop using page->list Revision 13: dm-io.c: Add io routines to perform io on a vm area. Revision 14: dm-io.c: Get rid of global queues unplug. [Jens Axboe] Revision 15: kcopyd Revision 16: kcopyd: stop using page->list Revision 17: kcopyd.c: Remove blk_run_queues(). [Jens Axboe] Revision 18: Snapshot target Revision 19: dm-exception-store.c: Use these routines. Revision 20: dm-snap.c: Remove blk_run_queues() from flush_bios(). (Not sure about this). Revision 21: Mirror target Revision 22: dm-log.c: Switch from using dm_io_sync() to dm_io_sync_vm(). Revision 23: dm-raid1.c: Remove blk_run_queues(). Revision 24: Flakey target Revision 25: dm-zero