]> sourceware.org Git - lvm2.git/commit
filter-sysfs: skip when device id is set
authorDavid Teigland <teigland@redhat.com>
Tue, 2 Nov 2021 20:42:26 +0000 (15:42 -0500)
committerDavid Teigland <teigland@redhat.com>
Tue, 2 Nov 2021 21:54:53 +0000 (16:54 -0500)
commitb5b0369e4decbd7e2b4a160ba8ebad4e8f8a4094
tree85610fd44e6670abd1cd510307370a089a447933
parent5d0964d127ea62da480cafc91fefe403dda86870
filter-sysfs: skip when device id is set

When a device id is set for a device, using an idtype other
than devname, it means that sysfs has been used with the device
to match the device id.  So, checking for a sysfs entry for the
device in filter-sysfs is redundant.  For any other cases not
covered by this (e.g. devname ids), have filter-sysfs simply
stat /sys/dev/block/major:minor to test if the device exists
in sysfs.

The extensive processing done by filter-sysfs init is removed.
It was taking an immense amount of time with many devices, e.g.
. 1024 PVs in 520 VGs
. 520 concurrent vgchange -ay <vgname> commands
. vgchange scans only PVs in the named VG (based on pvs_online
  files from a pending patch)

A large number of the vgchange commands were taking over 1 min,
and nearly half of that time was used by filter-sysfs init.
With this patch, the vgchange commands take about half the time.
lib/commands/toolcontext.c
lib/filters/filter-sysfs.c
This page took 0.032812 seconds and 5 git commands to generate.