The lvm(8) family of commands can leave a truncated /etc/lvm/.cache file if the root filesystem becomes full while the file is being written. If the system is rebooted at that point it will fail to boot because the subsequent vgscan(8) will croak when it attempts to parse the incomplete cache file. The problem is that the persistent_filter_dump() function does not check the return value of any of the writes or fclose(). In fact, simply checking the return value of the fclose() and not renaming the temporary file if the close fails should be sufficient. This obviously assumes persistent_filter_dump() has already been augmented to write to a temporary file and call rename() before returning (a change that has already been submitted).
This is a dup of bug#224078. I submitted it twice because bugzilla gave me an error about product " is not valid (or some such).
*** This bug has been marked as a duplicate of 22078 ***
*** This bug has been marked as a duplicate of 224078 *** *** This bug has been marked as a duplicate of 224078 ***