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)
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: