summaryrefslogtreecommitdiff
path: root/lib/blkid/devname.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2008-08-09 22:37:58 -0400
committerTheodore Ts'o <tytso@mit.edu>2008-08-09 22:37:58 -0400
commit57926c8c5566f0ef5b77db326d58aa0643cf6270 (patch)
tree7e102d200a8b04ace5666d76031b0dc887ef44dd /lib/blkid/devname.c
parent226515dfa921dfaa0145f358d0e457852dc3b493 (diff)
downloade2fsprogs-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.c6
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)