mirror of
git://sourceware.org/git/lvm2.git
synced 2025-03-08 08:58:50 +03:00
lvmdbusd: Correct PV lookups
When a user does a Manager.PvCreate they can specify the block device using a device path that may be different than what lvm reports is the device path. For example a user could use: /dev/disk/by-id/wwn-0x5002538500000000 instead of /dev/sdc In this case the pvcreate will succeed, but when we query lvm we don't find the newly created PV. We fail because it's device path is returned as /dev/sdc. This change re-uses an internal lookup which can accommodate this and correctly find the newly created PV. Corrects https://bugzilla.redhat.com/show_bug.cgi?id=1445654
This commit is contained in:
parent
fcce7e1660
commit
405a3689bc
@ -223,8 +223,9 @@ class ObjectManager(AutomatedProperties):
|
||||
:param lvm_id: The lvm identifier
|
||||
"""
|
||||
with self.rlock:
|
||||
if lvm_id in self._id_to_object_path:
|
||||
return self.get_object_by_path(self._id_to_object_path[lvm_id])
|
||||
lookup_rc = self._id_lookup(lvm_id)
|
||||
if lookup_rc:
|
||||
return self.get_object_by_path(lookup_rc)
|
||||
return None
|
||||
|
||||
def get_object_path_by_lvm_id(self, lvm_id):
|
||||
@ -234,8 +235,9 @@ class ObjectManager(AutomatedProperties):
|
||||
:return: Object path or '/' if not found
|
||||
"""
|
||||
with self.rlock:
|
||||
if lvm_id in self._id_to_object_path:
|
||||
return self._id_to_object_path[lvm_id]
|
||||
lookup_rc = self._id_lookup(lvm_id)
|
||||
if lookup_rc:
|
||||
return lookup_rc
|
||||
return '/'
|
||||
|
||||
def _uuid_verify(self, path, uuid, lvm_id):
|
||||
|
Loading…
x
Reference in New Issue
Block a user