Revision 1:
  -mm3

Revision 2:
  dm-io

Revision 3:
  kcopyd

Revision 4:
  Snapshot target

Revision 5:
  Mirror target

Revision 6:
  Flakey target

Revision 7:
  There are lots of mutable fields in the bio struct.  These get changed
  by the lower levels of the block layer.  This led us to try and record
  these fields, and restore them before passing the bio into our endio
  target method.  Mike Christie pointed out 2 problems with this:
  
  i) Although we record _after_ the bio has been mapped, there's a
     possible race if the target has decided to take over submission of the
     io (as snapshots do).
  
  ii) We do not re-record after the endio function has remapped, and
      even if we did, it would be susceptable to the same race as (i).
  
  So we're going to say that the targets themselves are responsible for
  this record/restore process.
  
  This particular patch strips out record/restore from dm.c

Revision 8:
  - dm-bio-record.h
  
  - change multipath target to use dm-bio-record.h

Revision 9:
  dm-mpath.c: Correct ctr args comment.

Revision 10:
  dm-mpath.c: define an EMIT macro to tidy the status method a bit

Revision 11:
  dm-mpath.c: There's no need to store the priority for each group in
  the kernel, all we're interested in is their relative priority.  Which
  is given implicitly by the group orderings in the constructor args.

Revision 12:
  dm-mpath.c: m->nr_paths is now redundant

Revision 13:
  dm-stripe.c: The stripe width must be at least the page size.

Revision 14:
  dm-stripe.c: convert PAGE_SIZE to sectors before comparing with
               chunk_size.
  
  Merge with previous patch.

Revision 15:
  Handle interrupts within suspend.

Revision 16:
  dm-io.c: Handle signals in during synchronous io.

Revision 17:
  VFS lock patch.  [Chris Mason]

Revision 18:
  Lock the filesystem while a device is suspended.  [Kevin Corry, Joe Thornber]

Revision 19:
  dm_suspend(): Don't unlock the fs if a race with another suspend is
  detected.

Revision 20:
  dm-mpath.c: Remove priority from comment.

Revision 21:
  dm-mpath.c: Set the pg->m backpointer correctly.  [Kevin Corry]

Revision 22:
  snprintf is never going to return a negative value, and it will always put a
  NULL character at the end of the string. See lib/vsprintf.c::vsnprintf().

Revision 23:
  Use scnprintf() instead of snprintf().
  
  See http://linux.bkbits.net:8080/linux-2.5/cset@1.1557.1.43 for more details.

Revision 24:
  dm-ioctl: All ioctls are 64bit compatible, so we can support all 64bit
  arches using include/linux/compat_ioctl.h
  
  Merge with remove ioctl v1 patch.

Revision 25:
  Add COMPATIBLE_IOCTL(DM_LIST_VERSIONS)

