Reduce time needed for get_disks()

This commit is contained in:
2Shirt 2022-11-12 23:21:23 -08:00
parent 3922ed08a8
commit e583929498
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C
3 changed files with 10 additions and 6 deletions

View file

@ -30,6 +30,7 @@ from wk.cfg.ddrescue import (
from wk.hw import disk as hw_disk
from wk.hw.smart import (
check_attributes,
enable_smart,
smart_status_ok,
update_smart_details,
)
@ -775,6 +776,12 @@ class State():
source_parts = select_disk_parts(self.mode, self.source)
self.add_image_block_pairs(source_parts)
# Update SMART data
## TODO: Verify if needed
for dev in (self.source, self.destination):
enable_smart(dev)
update_smart_details(dev)
# Safety Checks #1
if self.mode == 'Clone':
self.safety_check_destination()

View file

@ -171,6 +171,9 @@ class State():
# Add HW Objects
self.system = hw_system.System()
self.disks = hw_disk.get_disks(skip_kits=True)
for disk in self.disks:
hw_smart.enable_smart(disk)
hw_smart.update_smart_details(disk)
# Add test objects
for name, details in menu.options.items():

View file

@ -16,10 +16,8 @@ from wk.cfg.python import DATACLASS_DECORATOR_KWARGS
from wk.exe import get_json_from_command, run_program
from wk.hw.test import Test
from wk.hw.smart import (
enable_smart,
generate_attribute_report,
get_known_disk_attributes,
update_smart_details,
)
from wk.std import PLATFORM, color_string, strip_colors
@ -64,15 +62,11 @@ class Disk:
self.update_details()
self.set_description()
self.known_attributes = get_known_disk_attributes(self.model)
enable_smart(self)
update_smart_details(self)
if not self.attributes and self.bus == 'USB':
# Try using SAT
LOG.warning('Using SAT for smartctl for %s', self.path)
self.notes = []
self.use_sat = True
enable_smart(self)
update_smart_details(self)
self.initial_attributes = copy.deepcopy(self.attributes)
if not self.is_4k_aligned():
self.add_note('One or more partitions are not 4K aligned', 'YELLOW')