From ecd8db27c8ffb76ebf799e0de0dcf64c3ce256fe Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Thu, 14 Feb 2013 14:22:44 +0000 Subject: (call_blkid) always bypass blkid cache This reverts the use of the blkid cache. This cache is a broken concept and should not be used. It's only intended to be used for LABEL/UUID conversion. From the upstream maintainer: coling: -p provides more information, the cache is designed for LABEL/UUID conversion -- and the goal is to avoid the cache if possible (it's mostly for backward compatibility). The ideal solution is to read the information from udev DB. coling: man blkid (at least the latest version contains some hint about this issue) coling: I'd like to learn people to use lsblk -- it's designed more friendly for end-users as well as for scripts and it reads info from udev, libblkid is only fallback here. Longer term we should kill off the use of blkid and perhaps move to lsblk or some perl-udev (if such a thing exists) usage instead: coling: avoid the blkid cache, it is a completely broken idea kzak: you should really kill that thing :) kay: I'd like to kill blkid at all and keep it as "to test the library" binary... kzak: tools with options like that talk for their sanity themselves :) " -g Perform a garbage collection pass on the blkid cache to remove devices which no longer exist." kzak: it's just silly, really silly to ever do that :) kzak: yeah, sounds fine to let blkid and its cache die in the long run lsblk is maintainable and extendable -- fix blkid(8) is impossible to fix... This reverts r6891. --- perl-install/NEWS | 2 ++ perl-install/fs/type.pm | 2 +- perl-install/install/NEWS | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) (limited to 'perl-install') diff --git a/perl-install/NEWS b/perl-install/NEWS index 2d7ff73d7..e74b11d29 100644 --- a/perl-install/NEWS +++ b/perl-install/NEWS @@ -1,3 +1,5 @@ +- always bypass blkid cache (the cache only includes a subset of the data we need) + Version 15.19 - 16 January 2013 - update translations diff --git a/perl-install/fs/type.pm b/perl-install/fs/type.pm index 72b7b54e4..528804655 100644 --- a/perl-install/fs/type.pm +++ b/perl-install/fs/type.pm @@ -273,7 +273,7 @@ sub call_blkid { my %h = map { if_(/(.*?)=(.*)/, $1 => $2); - } run_program::get_stdout_raw({ timeout => 30 }, 'blkid', '2>', '/dev/null', '-o', 'udev', devices::make($part->{device})); + } run_program::get_stdout_raw({ timeout => 30 }, 'blkid', '2>', '/dev/null', '-o', 'udev', '-p', devices::make($part->{device})); \%h; } diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS index dff49cd02..7d1f07f20 100644 --- a/perl-install/install/NEWS +++ b/perl-install/install/NEWS @@ -1,3 +1,5 @@ +- always bypass blkid cache (the cache only includes a subset of the data we need) + Version 15.20 - 21 January 2013 - use modprobe instead of insmod (mga#8676) -- cgit v1.2.1