On 07/15/2014 02:46 PM, Philipp Thomas wrote:
the message catalog for 8.23pre1 has 'whiteout' from lib/file-type.c. Can anyone please explain me what that means in that context? It's the only untranslated text left :)
It's a "BSD whiteout" file: From http://fixunix.com/bsd/86985-whiteout.html#post284618: A 'whiteout' file is an *ARTIFICIAL* entry in any of several types of 'translucent' filesystems, of which a 'union' filesystem is one. The need arises when you have one filesystem mounted 'over' another with the files in the underlying system _visible_ through the overlaying system. Any _changes_ to files are made in the overlaying filesystem -- the underlying files are *NOT* changed in any way. Given that, when you _delete_ a file, a 'special' entry is required in the overlaying system to indicate that the underlying file should no longer be visible. This is what 'whiteout' does -- it paints over the real entry so that you cannot see what "was" there. Thus, to answer your question of "how would one go about creating a whiteout file" -- you simply _delete_ a file that exists in the underlying filesystem. Note: you cannot open(), read(), write(), seek(), stat(), or perform _any_ other 'file operation' on a whiteout file -- any such attempt returns an 'ENOENT' error. You cannot even 'unlink()' a whiteout file. The only way to remove a whiteout entry is to *create* a file by the same name. It is a specialized 'bookkeeping entry' for a file that "does not exist". Well, I wouldn't translate it, or if I did, I'd try to find a word for something like "overlay deletion placeholder". Have a nice day, Berny
