mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
Do not lstat common path prefix
When both path have identical prefix i.e. /dev/disk/by-id skip 2 x lstat() for /dev /dev/disk /dev/disk/by-id and directly lstat() only different part of the path. Reduces amount of lstat calls on system with lots of devices.
This commit is contained in:
parent
5146908366
commit
538d5e81a7
@ -1,5 +1,6 @@
|
||||
Version 2.02.89 -
|
||||
==================================
|
||||
Reduce number of lstat calls when selecting device alias.
|
||||
Add function to inialize common structure device members.
|
||||
Always zalloc device structure during initialization.
|
||||
Fix missing thread list manipulation protection in dmeventd.
|
||||
|
@ -259,6 +259,13 @@ static int _compare_paths(const char *path0, const char *path1)
|
||||
s0 = &p0[0] + 1;
|
||||
s1 = &p1[0] + 1;
|
||||
|
||||
/*
|
||||
* If we reach here, both paths are the same length.
|
||||
* Now skip past identical path components.
|
||||
*/
|
||||
while (*s0 && *s0 == *s1)
|
||||
s0++, s1++;
|
||||
|
||||
/* We prefer symlinks - they exist for a reason!
|
||||
* So we prefer a shorter path before the first symlink in the name.
|
||||
* FIXME Configuration option to invert this? */
|
||||
|
Loading…
Reference in New Issue
Block a user