From: Richard W.M. Jones Date: Wed, 20 Jul 2011 13:41:39 +0000 (+0100) Subject: blkid: Use -c /dev/null option to kill the cache. X-Git-Tag: 1.8.10~9 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=880374c6df2a694bb1457231f110d9ef7035e5b7;p=libguestfs.git blkid: Use -c /dev/null option to kill the cache. On recent Debian, /etc/blkid.tab is now a symlink to /dev/.blkid.tab. Rather than chasing the cache file around (it may move to /run in future) use the -c /dev/null option to stop blkid from reading the cache. (cherry picked from commit 1d0f398d8e3c74ce6a70cbbb8d9b8ae07c6d7ef6) --- diff --git a/daemon/blkid.c b/daemon/blkid.c index f631061..7935ac3 100644 --- a/daemon/blkid.c +++ b/daemon/blkid.c @@ -33,16 +33,11 @@ get_blkid_tag (const char *device, const char *tag) char *out, *err; int r; - /* Kill the cache file, forcing blkid to reread values from the - * original filesystems. In blkid there is a '-p' option which is - * supposed to do this, but (a) it doesn't work and (b) that option - * is not supported in RHEL 5. - */ - unlink ("/etc/blkid/blkid.tab"); /* Red Hat, Fedora */ - unlink ("/etc/blkid.tab"); /* Debian */ - r = commandr (&out, &err, - "blkid", "-o", "value", "-s", tag, device, NULL); + "blkid", + /* Adding -c option kills all caching, even on RHEL 5. */ + "-c", "/dev/null", + "-o", "value", "-s", tag, device, NULL); if (r != 0 && r != 2) { if (r >= 0) reply_with_error ("%s: %s (blkid returned %d)", device, err, r);