daemon: Kill blkid cache to improve reliability of blkid commands.
authorRichard Jones <rjones@redhat.com>
Tue, 1 Jun 2010 14:27:57 +0000 (15:27 +0100)
committerRichard Jones <rjones@redhat.com>
Tue, 1 Jun 2010 14:29:09 +0000 (15:29 +0100)
By killing the cache file, we make blkid work in situations such
as a just-created filesystem.

daemon/blkid.c

index 1ddc8cd..a619730 100644 (file)
@@ -33,6 +33,13 @@ 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");
+
   r = command (&out, &err,
                "blkid", "-o", "value", "-s", tag, device, NULL);
   if (r == -1) {