From: Kefu Chai Date: Wed, 30 Aug 2017 10:46:49 +0000 (+0800) Subject: ceph-disk: unlock all partitions when activate X-Git-Tag: v12.2.2~59^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=796e33647022de1fd831b31045242fb8e9d0e4d2;p=ceph.git ceph-disk: unlock all partitions when activate should unlock all dmcrypted partitions when activating a device. Signed-off-by: Kefu Chai (cherry picked from commit ba2aa0cee9e077d8439ba31228b41beb2d827a04) --- diff --git a/src/ceph-disk/ceph_disk/main.py b/src/ceph-disk/ceph_disk/main.py index 28b0a1189262..6d1a555ead93 100644 --- a/src/ceph-disk/ceph_disk/main.py +++ b/src/ceph-disk/ceph_disk/main.py @@ -3752,23 +3752,18 @@ def main_activate(args): osd_data = get_mount_point(cluster, osd_id) args.cluster = cluster - - # Check if encrypted block device in journal - - block_dmcrypt_path = os.path.join(osd_data, 'block_dmcrypt') - - if args.dmcrypt and os.path.exists(block_dmcrypt_path): - partition = DevicePartition.factory( - path=None, - dev=os.path.join(osd_data, 'block_dmcrypt'), - args=args) - - partition.osd_dm_key = get_dmcrypt_key( - get_partition_uuid(args.path), - args.dmcrypt_key_dir, - CryptHelpers.get_dmcrypt_type(args) == "luks") - - partition.map() + if args.dmcrypt: + for name in Space.NAMES: + # Check if encrypted device in journal + dev_path = os.path.join(osd_data, name + '_dmcrypt') + if not os.path.exists(dev_path): + continue + partition = DevicePartition.factory( + path=None, + dev=dev_path, + args=args) + partition.rawdev = args.path + partition.map() elif stat.S_ISDIR(mode): (cluster, osd_id) = activate_dir(