Holger, 

It is deliberate that the cache is not flushed after a device is
remoed.  So just because you are seeing stale entries in blkid does
*not* mean that there are any problems.  Before an entry is used, it
will be validated.

Keep in mind that blkid's main function is not to show you all of the
devices on your system; it is to show you the current contents of the
blkid cache.  We do keep the last known device where a filesystem is
found so that when doing a lookup by LABEL, we try to last known
device name *first*, and if it is found there, we return it;
otherwise, we have to scan every single device in the system.  The
reason for the blkid cache is that if you have potentially tens of
thousands of devices (for example, as might be the case on a large-end
storage array from EMC or IBM).

Or suppose you have a hundred CD-ROM drivers with a set of CDR's
semi-permanently installed in each drive.  You might not want to spin
up each and every driver just to verify the contents of the blkid
cache is correct.  On such a system "blkid -g" can be quite slow.  You
don't want to do it all the time.

As a result, what the code currently does is when you *lookup* a
specific device, which is what mount or fsck does when you give it a
specifier such as "mount LABEL=my-pictures", it will at that point
look up an entry in the blkid cache, and then verify it to make sure
its contents are correct.  You can also simulate this by using the
command "blkid -l -t LABEL=my-pictures".

The bottom line is that just because a device that is no longer on
your system shows up blkid is not an indication of a bug.  If, while
running as root, "blkid -l -t LABEL=xxxx" or "blkid -l -t UUID=xxx"
returns the wrong value, please let me know.  It shouldn't at this
point, though.

                                                - Ted



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to