Skip to content

Commit be3d230

Browse files
lib/host: Improved disk_is_available() using blkid for reliable raw disk checks.
Signed-off-by: Rushikesh Jadhav <[email protected]>
1 parent f5d63e4 commit be3d230

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

lib/host.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -516,10 +516,12 @@ def disks(self):
516516
disks.sort()
517517
return disks
518518

519-
def disk_is_available(self, disk):
519+
def disk_is_available(self, disk, disk_raw=False):
520+
if disk_raw:
521+
return self.ssh_with_result(['blkid', '/dev/' + disk]).returncode == 2
520522
return len(self.ssh(['lsblk', '-n', '-o', 'MOUNTPOINT', '/dev/' + disk]).strip()) == 0
521523

522-
def available_disks(self, blocksize=512):
524+
def available_disks(self, blocksize=512, disk_raw=False):
523525
"""
524526
Return a list of available disks for formatting, creating SRs or such.
525527
@@ -534,7 +536,7 @@ def available_disks(self, blocksize=512):
534536
sec_size = line[1]
535537
if sec_size == str(blocksize):
536538
avail_disks.append(disk)
537-
return [disk for disk in avail_disks if self.disk_is_available(disk)]
539+
return [disk for disk in avail_disks if self.disk_is_available(disk, disk_raw)]
538540

539541
def file_exists(self, filepath, regular_file=True):
540542
option = '-f' if regular_file else '-e'

0 commit comments

Comments
 (0)