[nSLUG] EXT3 missing log file

Dop Ganger nslug at fop.ns.ca
Tue Feb 9 14:58:09 AST 2010


On Tue, 9 Feb 2010, Mike Spencer wrote:

> Ben wrote:
>
>> Until I close the cat in terminal 1 by issuing an EOF, the file
>> exists.  It just doesn't have a directory entry pointing at it.
>
> By "exists", you mean that there is a table entry somewhere in the
> running kernel that lists it as an "existing, open" file, an entry
> which lsof can find and report on?

It's there as an entry in the inode table but there's no directory entry. 
To make a slightly strained analogy, it's as if you've removed the 
hostname for a webserver from the DNS - if you know the numeric IP address 
you can still connect to the webserver, but it's not there by textual 
name in the DNS.

> But since you haven't issued EOF to the cat command, where does
> further input to the cat command go if there is no "directory entry
> pointing at it"?  Where does output go when it's to an "existing" file
> that has no storage media/capacity associated with it?

It's appended to the file pointed to by the inode referenced by the 
directory entry. The directory entry is gone but the inode is still being 
held open by a process; until the inode is closed the blocks allocated to 
the file are still in use and not freed (which means there are stunts to 
pull wherein one can recover a "deleted" file so long as the inode's still 
open).

> (I've long had a related question about pipes but I'll avoid confusion
> here and ask that question later.)

Have you looked at fuser(1)?

Cheers... Dop.



More information about the nSLUG mailing list