From e090a92a20f4161f473d16bc966f7d6aacac75ee Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 13 Feb 2013 18:22:45 -0800 Subject: [PATCH] udev: trigger on dmcrypted osd partitions Automatically map encrypted journal partitions. For encrypted OSD partitions, map them, wait for the mapped device to appear, and then ceph-disk-activate. This is much simpler than doing the work in ceph-disk-activate. Signed-off-by: Sage Weil --- udev/95-ceph-osd.rules | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/udev/95-ceph-osd.rules b/udev/95-ceph-osd.rules index c3e05bb6ace14..a6fcaea88237d 100644 --- a/udev/95-ceph-osd.rules +++ b/udev/95-ceph-osd.rules @@ -3,3 +3,19 @@ ACTION=="add", SUBSYSTEM=="block", \ ENV{DEVTYPE}=="partition", \ ENV{ID_PART_ENTRY_TYPE}=="4fbd7e29-9d25-41b8-afd0-062c0ceff05d", \ RUN+="/usr/sbin/ceph-disk-activate --mount /dev/$name" + +# Map journal if using dm-crypt +ACTION=="add" SUBSYSTEM=="block", \ + ENV{DEVTYPE}=="partition", \ + ENV{ID_PART_ENTRY_TYPE}=="45b0969e-9b03-4f30-b4c6-5ec00ceff106", \ + RUN+="/sbin/cryptsetup --key-file /etc/ceph/dmcrypt-keys/$env{ID_PART_ENTRY_UUID} --key-size 256 create $env{ID_PART_ENTRY_UUID} /dev/$name" + +# Map data device and +# activate ceph-tagged partitions +# for dm-crypted data devices +ACTION=="add" SUBSYSTEM=="block", \ + ENV{DEVTYPE}=="partition", \ + ENV{ID_PART_ENTRY_TYPE}=="4fbd7e29-9d25-41b8-afd0-5ec00ceff05d", \ + RUN+="/sbin/cryptsetup --key-file /etc/ceph/dmcrypt-keys/$env{ID_PART_ENTRY_UUID} --key-size 256 create $env{ID_PART_ENTRY_UUID} /dev/$name", \ + RUN+="bash -c 'while [ ! -e /dev/mapper/$env{ID_PART_ENTRY_UUID} ];do sleep 1; done'", \ + RUN+="/usr/sbin/ceph-disk-activate --mount /dev/mapper/$env{ID_PART_ENTRY_UUID}"