From c7a1ceba441fa99a82e19ed2cd3c6782a5d77636 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 12 Aug 2014 17:26:07 -0700 Subject: [PATCH] ceph-disk: display information about dmcrypted data and journal volumes Signed-off-by: Sage Weil --- src/ceph-disk | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/ceph-disk b/src/ceph-disk index e067021dca9f0..ba890a2d7cd1a 100755 --- a/src/ceph-disk +++ b/src/ceph-disk @@ -2241,11 +2241,30 @@ def list_dev(dev, uuid_map, journal_map): desc = ['ceph data'] + desc else: desc = ['ceph data', 'unprepared'] + elif ptype == DMCRYPT_OSD_UUID: + holders = is_held(dev) + if not holders: + desc = ['ceph data (dmcrypt)', 'not currently mapped'] + elif len(holders) == 1: + holder = '/dev/' + holders[0] + fs_desc = list_dev_osd(holder, uuid_map) + desc = ['ceph data (dmcrypt %s)' % holder] + fs_desc + else: + desc = ['ceph data (dmcrypt)', 'holders: ' + ','.join(holders)] elif ptype == JOURNAL_UUID: desc.append('ceph journal') part_uuid = get_partition_uuid(dev) if part_uuid and part_uuid in journal_map: desc.append('for %s' % journal_map[part_uuid]) + elif ptype == DMCRYPT_JOURNAL_UUID: + holders = is_held(dev) + if len(holders) == 1: + desc = ['ceph journal (dmcrypt /dev/%s)' % holders[0]] + else: + desc = ['ceph journal (dmcrypt)'] + part_uuid = get_partition_uuid(dev) + if part_uuid and part_uuid in journal_map: + desc.append('for %s' % journal_map[part_uuid]) else: path = is_mounted(dev) fs_type = get_dev_fs(dev) @@ -2289,6 +2308,22 @@ def main_list(args): unmount(tpath) except MountError: pass + if ptype == DMCRYPT_OSD_UUID: + holders = is_held(dev) + if len(holders) == 1: + holder = '/dev/' + holders[0] + fs_type = get_dev_fs(holder) + if fs_type is not None: + try: + tpath = mount(dev=holder, fstype=fs_type, options='') + try: + journal_uuid = get_oneliner(tpath, 'journal_uuid') + if journal_uuid: + journal_map[journal_uuid.lower()] = dev + finally: + unmount(tpath) + except MountError: + pass for base, parts in sorted(partmap.iteritems()): if parts: -- 2.39.5