Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Mar 2000 11:13:21 -0800 (PST)
From:      "Eric J. Schwertfeger" <ejs@bfd.com>
To:        Troy Settle <troy@picus.com>
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   RE: filesystem full?
Message-ID:  <Pine.BSF.4.10.10003241106100.85863-100000@harlie.bfd.com>
In-Reply-To: <BPEOKDIIGLACIBFDFLEPEEGKCAAA.troy@picus.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 24 Mar 2000, Troy Settle wrote:

> 
> 
> Hmm... bad taste to reply to one's own posts... but, I need to make a
> correction:
> 
> 
> ** If a process dies out, the kernel should release all resources used by that
> ** process.  The only processes using the /var filesystem, are the
> ** default system
> ** processes.  I can't make any claims otherwise.
> 
> After re-reading other replies, this should read:
> 
> If a process has a file open, the kernel should not allow a user or another
> process to delete said file.

According to unix filesystem semantics, deleting a file that is in use is
perfectly legitimate, and changing this would in fact break software.

A file is a set of blocks on the disk pointed to by an inode.  A directory
entry is a pointer to the inode.  When you open a file, the inode is
resolved and the filename itself is no longer used.  The distinction
becomes critical in cases like this, or when dealing with hard links,
which are multiple directory entries for the same inode.

Now, when you delete or rename a file, you're not affecting the inode, but
the directory entry.  However, the inode usage count gets decremented, and
when it drops to zero, the inode and associated blocks are considered
free.

Now, in the case where a program has a file open, the inode usage doesn't
drop to 0 until the program closes the filehandle.

Am I being clear?  I've explained this to people that I work with, but
email is different (no feedback, no gestures, etc).

It's a simple concept, but one that isn't expected, so most people trip
over it their first time.



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.10.10003241106100.85863-100000>