summaryrefslogtreecommitdiff
path: root/probe-libblkid.c
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2019-08-28 12:19:29 +0200
committerJo-Philipp Wich <jo@mein.io>2019-08-28 12:19:29 +0200
commit6a61b9ac105b8eb28680e728a2723e302a91304d (patch)
tree22b92a7083e2a122864efe43ebaaa91d8350aaf5 /probe-libblkid.c
parent1539b535ac327a3bc599d1ca871e14fd0dc3bba1 (diff)
downloadfstools-6a61b9ac105b8eb28680e728a2723e302a91304d.tar.gz
probe: fallback to libblkid.so.1 when libblkid.so does not exist
OpenWrt commit 0e70f69a35 ("treewide: revise library packaging") removed the unversioned library symlink from the libblkid package, breaking dynamic loading of the library at runtime. Add a fallback to "libblkid.so.1" to allow using the dynamic library for filesystem probing again. Fixes: FS#2274 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'probe-libblkid.c')
-rw-r--r--probe-libblkid.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/probe-libblkid.c b/probe-libblkid.c
index ad9f371..870965e 100644
--- a/probe-libblkid.c
+++ b/probe-libblkid.c
@@ -37,6 +37,9 @@ load_libblkid(void)
if (!libblkid.loaded) {
lib = dlopen("libblkid.so", RTLD_GLOBAL);
+ if (lib == NULL)
+ lib = dlopen("libblkid.so.1", RTLD_GLOBAL);
+
if (lib) {
libblkid.alloc = dlsym(lib, "blkid_new_probe_from_filename");
libblkid.probe = dlsym(lib, "blkid_do_probe");