diff options
author | Theodore Ts'o <tytso@mit.edu> | 2008-08-09 22:37:58 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2008-08-09 22:37:58 -0400 |
commit | 57926c8c5566f0ef5b77db326d58aa0643cf6270 (patch) | |
tree | 7e102d200a8b04ace5666d76031b0dc887ef44dd /lib/blkid/devname.c | |
parent | 226515dfa921dfaa0145f358d0e457852dc3b493 (diff) | |
download | e2fsprogs-57926c8c5566f0ef5b77db326d58aa0643cf6270.tar.gz |
blkid: Fix probing logic so we find renamed devices
This fixes a bug where if there is an entry in the /etc/blkid.tab file
for a particular device (major, minor) number but the filename does
not exist, blkid wouldn't try to find the correct filename.
Addresses-Debian-Bug: #493216
Diffstat (limited to 'lib/blkid/devname.c')
-rw-r--r-- | lib/blkid/devname.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/blkid/devname.c b/lib/blkid/devname.c index 65c6ccae..89b33f21 100644 --- a/lib/blkid/devname.c +++ b/lib/blkid/devname.c @@ -142,10 +142,12 @@ static void probe_one(blkid_cache cache, const char *ptname, continue; #endif if (tmp->bid_devno == devno) { - if (only_if_new) + if (only_if_new && !access(tmp->bid_name, F_OK)) return; dev = blkid_verify(cache, tmp); - break; + if (dev && (dev->bid_flags & BLKID_BID_FL_VERIFIED)) + break; + dev = 0; } } if (dev && dev->bid_devno == devno) |