Skip to content

Commit

Permalink
fio: fix device path issue for vpmem device type
Browse files Browse the repository at this point in the history
The last changes has error in getting path of the device
in case if the device type is nvdimm as the fio test do
not expect disk input instead it creates its own vpmem
device so this changes make sure test do not fail if
disk input is empty

Also cancel test if either disk not given or if there is
no vpmem device exists in lpar

Signed-off-by: Abdul Haleem <[email protected]>
  • Loading branch information
abdhaleegit committed Aug 23, 2023
1 parent ed91ebc commit 55bcbea
Showing 1 changed file with 20 additions and 15 deletions.
35 changes: 20 additions & 15 deletions io/disk/fiotest.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,19 @@ def setUp(self):
"""
default_url = "https://brick.kernel.dk/snaps/fio-git-latest.tar.gz"
url = self.params.get('fio_tool_url', default=default_url)
self.disk_type = self.params.get('disk_type', default='')
device = self.params.get('disk', default=None)
self.disk = disk.get_absolute_disk_path(device)
if device and not self.disk_type:
device = self.params.get('disk', default=None)
self.disk = disk.get_absolute_disk_path(device)
if self.disk not in disk.get_all_disk_paths():
self.cancel("Missing disk %s in OS" % self.disk)
elif self.disk_type == 'nvdimm':
self.disk = None
else:
self.cancel("Please Provide valid disk")

self.dir = self.params.get('dir', default=None)
self.disk_type = self.params.get('disk_type', default='')
fstype = self.params.get('fs', default='')
fs_args = self.params.get('fs_args', default='')
mnt_args = self.params.get('mnt_args', default='')
Expand Down Expand Up @@ -139,23 +148,17 @@ def setUp(self):
if line.startswith(eng) and 'no' in line:
self.cancel("PMEM engines not built with fio")

if self.disk:
if self.disk not in disk.get_all_disk_paths():
self.cancel("Missing disk %s in OS" % self.disk)
else:
self.cancel("Please Provide valid disk name")

if not self.dir:
self.dir = self.workdir

self.target = self.disk
self.lv_disk = self.disk
self.part_obj = Partition(self.disk, mountpoint=self.dir)
self.sraid = softwareraid.SoftwareRaid(self.raid_name, '0',
self.disk.split(), '1.2')
if self.disk:
self.target = self.disk
self.lv_disk = self.disk
self.part_obj = Partition(self.disk, mountpoint=self.dir)
self.sraid = softwareraid.SoftwareRaid(self.raid_name, '0',
self.disk.split(), '1.2')
self.pre_cleanup()
dmesg.clear_dmesg()

self.pre_cleanup()
if raid_needed:
self.create_raid(self.target, self.raid_name)
self.raid_create = True
Expand All @@ -182,6 +185,8 @@ def setup_pmem_disk(self, mnt_args):
self.plib.enable_region()
regions = sorted(self.plib.run_ndctl_list(
'-R'), key=lambda i: i['size'], reverse=True)
if not regions:
self.cancel("There are no pmem devices to test")
region = self.plib.run_ndctl_list_val(regions[0], 'dev')
if self.plib.run_ndctl_list("-N -r %s" % region):
self.plib.destroy_namespace(region=region, force=True)
Expand Down

0 comments on commit 55bcbea

Please sign in to comment.