Fixed: nvme-drive support fixed. parted gives partition numbers, not the actual labels of devices. Hence, parted is scrapped and lsblk is used to determain partition names/labels instead.
This commit is contained in:
parent
97c44e0d94
commit
ba09d311a2
|
|
@ -81,9 +81,10 @@ def update_git():
|
||||||
|
|
||||||
def device_state(name):
|
def device_state(name):
|
||||||
# Based out of: https://askubuntu.com/questions/528690/how-to-get-list-of-all-non-removable-disk-device-names-ssd-hdd-and-sata-ide-onl/528709#528709
|
# Based out of: https://askubuntu.com/questions/528690/how-to-get-list-of-all-non-removable-disk-device-names-ssd-hdd-and-sata-ide-onl/528709#528709
|
||||||
with open('/sys/block/{}/device/block/{}/removable'.format(name, name)) as f:
|
if os.path.isfile('/sys/block/{}/device/block/{}/removable'.format(name, name)):
|
||||||
if f.read(1) == '1':
|
with open('/sys/block/{}/device/block/{}/removable'.format(name, name)) as f:
|
||||||
return
|
if f.read(1) == '1':
|
||||||
|
return
|
||||||
|
|
||||||
path = rootdir_pattern.sub('', os.readlink('/sys/block/{}'.format(name)))
|
path = rootdir_pattern.sub('', os.readlink('/sys/block/{}'.format(name)))
|
||||||
hotplug_buses = ("usb", "ieee1394", "mmc", "pcmcia", "firewire")
|
hotplug_buses = ("usb", "ieee1394", "mmc", "pcmcia", "firewire")
|
||||||
|
|
@ -96,20 +97,15 @@ def device_state(name):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def grab_partitions(dev):
|
def grab_partitions(dev):
|
||||||
o = run('parted -m -s {} p'.format(dev)).decode('UTF-8')
|
drive_name = os.path.basename(dev)
|
||||||
parts = oDict()
|
parts = oDict()
|
||||||
for line in o.split('\n'):
|
o = run('lsblk -o name -J -b {dev}'.format(dev=dev))
|
||||||
if ':' in line:
|
r = json.loads(o)
|
||||||
data = line.split(':')
|
for part in r['blockdevices'][0]['children']:
|
||||||
if data[0].isdigit():
|
parts[part['name'][len(drive_name):]] = {
|
||||||
parts[int(data[0])] = {
|
# TODO: Grab partition info and store here?
|
||||||
'start' : data[1],
|
}
|
||||||
'end' : data[2],
|
|
||||||
'size' : data[3],
|
|
||||||
'sum' : data[4],
|
|
||||||
'label' : data[5],
|
|
||||||
'options' : data[6]
|
|
||||||
}
|
|
||||||
return parts
|
return parts
|
||||||
|
|
||||||
def update_drive_list():
|
def update_drive_list():
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue