summaryrefslogtreecommitdiffstats
path: root/libmount/src/cache.c
diff options
context:
space:
mode:
authorKarel Zak2012-04-19 14:33:59 +0200
committerKarel Zak2012-04-19 14:33:59 +0200
commitcff632afc93f4cfa366911dffe7521911d172f62 (patch)
treef71b6c69fa9921451966c76d4a127d0f064c3b1e /libmount/src/cache.c
parentlibblkid: add support for PARTUUID= and PARTLABEL= (diff)
downloadkernel-qcow2-util-linux-cff632afc93f4cfa366911dffe7521911d172f62.tar.gz
kernel-qcow2-util-linux-cff632afc93f4cfa366911dffe7521911d172f62.tar.xz
kernel-qcow2-util-linux-cff632afc93f4cfa366911dffe7521911d172f62.zip
libmount: add support for PARTUUID= and PARTLABEL=
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libmount/src/cache.c')
-rw-r--r--libmount/src/cache.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libmount/src/cache.c b/libmount/src/cache.c
index 1b3e94d00..afd426089 100644
--- a/libmount/src/cache.c
+++ b/libmount/src/cache.c
@@ -299,7 +299,8 @@ int mnt_cache_read_tags(struct libmnt_cache *cache, const char *devname)
{
size_t i, ntags = 0;
int rc;
- const char *tags[] = { "LABEL", "UUID", "TYPE" };
+ const char *tags[] = { "LABEL", "UUID", "TYPE", "PARTUUID", "PARTLABEL" };
+ const char *blktags[] = { "LABEL", "UUID", "TYPE", "PART_ENTRY_UUID", "PART_ENTRY_NAME" };
assert(cache);
assert(devname);
@@ -329,6 +330,9 @@ int mnt_cache_read_tags(struct libmnt_cache *cache, const char *devname)
BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID |
BLKID_SUBLKS_TYPE);
+ blkid_probe_enable_partitions(cache->pr, 1);
+ blkid_probe_set_partitions_flags(cache->pr, BLKID_PARTS_ENTRY_DETAILS);
+
if (blkid_do_safeprobe(cache->pr))
goto error;
@@ -343,7 +347,7 @@ int mnt_cache_read_tags(struct libmnt_cache *cache, const char *devname)
"\ntag %s already cached", tags[i]));
continue;
}
- if (blkid_probe_lookup_value(cache->pr, tags[i], &data, NULL))
+ if (blkid_probe_lookup_value(cache->pr, blktags[i], &data, NULL))
continue;
dev = strdup(devname);
if (!dev)