1. 20 Oct, 2007 2 commits
    • Milan Broz's avatar
      dm io:ctl use constant struct size · 027d50f9
      Milan Broz authored
      Make size of dm_ioctl struct always 312 bytes on all supported
      architectures.
      
      This change retains compatibility with already-compiled code because
      it uses an embedded offset to locate the payload that follows the
      structure.
      
      On 64-bit architectures there is no change at all; on 32-bit
      we are increasing the size of dm-ioctl from 308 to 312 bytes.
      
      Currently with 32-bit userspace / 64-bit kernel on x86_64
      some ioctls (including rename, message) are incorrectly rejected
      by the comparison against 'param + 1'.  This breaks userspace
      lvrename and multipath 'fail_if_no_path' changes, for example.
      
      (BTW Device-mapper uses its own versioning and ignores the ioctl
      size bits.  Only the generic ioctl compat code on mixed arches
      checks them, and that will continue to accept both sizes for now,
      but we intend to list 308 as deprecated and eventually remove it.)
      Signed-off-by: default avatarMilan Broz <mbroz@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      Cc: Guido Guenther <agx@sigxcpu.org>
      Cc: Kevin Corry <kevcorry@us.ibm.com>
      Cc: stable@kernel.org
      027d50f9
    • Bryn M. Reeves's avatar
      dm mpath: rdac fix init race · c7ac86de
      Bryn M. Reeves authored
      Re-order the initialisation of dm-rdac to avoid registering the hw
      handler before the workqueue has been initialised. Closes a race
      that would potentially give an oops.
      Signed-off-by: default avatarBryn M. Reeves <breeves@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      c7ac86de
  2. 19 Oct, 2007 38 commits