public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ken Brownfield <brownfld@irridia.com>
To: Doug Alcorn <lathi@seapine.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: rm-ing files with open file descriptors
Date: Fri, 18 Jan 2002 15:28:33 -0600	[thread overview]
Message-ID: <20020118152833.A30386@asooo.flowerfire.com> (raw)
In-Reply-To: <87lmevjrep.fsf@localhost.localdomain>
In-Reply-To: <87lmevjrep.fsf@localhost.localdomain>; from lathi@seapine.com on Fri, Jan 18, 2002 at 04:11:26PM -0500

This is actually a long-standing UNIXism that is pretty heavily relied-
upon -- for example, opening a temporary file then unlinking it before
use "guarantees" that the file will not stick around in case the app
crashes before it can properly close and unlink.

One nasty side-effect is space allocation -- after unlinking a file and
writing to it, you can fill the disk without the file showing up in 'ls'
or 'du', etc.  Hard to debug.  Stronghold on Solaris used to do this
with log files -- HUP did not discard the old FDs.

-- 
Ken.
brownfld@irridia.com

On Fri, Jan 18, 2002 at 04:11:26PM -0500, Doug Alcorn wrote:
| 
| I had a weird situation with my application where the user deleted all
| the database files while the app was still reading and writing to the
| opened file descriptor.  What was weird to me was that the app didn't
| complain.  It just went merrily about it's business as if nothing were
| wrong.  Of course, after the app shut down all it's data was lost.
| 
| Since I didn't expect this behavior I wrote a simple little program to
| test it[1].  Sure enough, you can rm a file that has opened file
| descriptors and no errors are generated.  Interestingly, sun solaris
| does the same thing.  Since this is the case, I thought this might be
| a feature instead of a bug (ms-win doesn't allow the rm).  So, my
| question is where is this behavior defined?  Is it a kernel issue?
| Does POSIX define this behavior?  Is it a libc issue?  
| 
| I tried to google this, but couldn't think of the right terms to
| describe it.  As I'm not on lkm, I would appreciate a CC: to
| <doug@lathi.net>.
| -- 
|  (__) Doug Alcorn (mailto:doug@lathi.net http://www.lathi.net)
|  oo / PGP 02B3 1E26 BCF2 9AAF 93F1  61D7 450C B264 3E63 D543
|  |_/  If you're a capitalist and you have the best goods and they're
|       free, you don't have to proselytize, you just have to wait. 
| 
| -
| To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
| the body of a message to majordomo@vger.kernel.org
| More majordomo info at  http://vger.kernel.org/majordomo-info.html
| Please read the FAQ at  http://www.tux.org/lkml/

  parent reply	other threads:[~2002-01-18 21:29 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-18 21:11 rm-ing files with open file descriptors Doug Alcorn
2002-01-18 21:27 ` Xavier Bestel
2002-01-18 21:28 ` Ken Brownfield [this message]
2002-01-19 20:23   ` Rob Landley
2002-01-18 21:49 ` Richard B. Johnson
2002-01-19  0:50   ` Miquel van Smoorenburg
2002-01-19  2:29     ` H. Peter Anvin
2002-01-19 10:57       ` Xavier Bestel
2002-01-19 11:10       ` Miquel van Smoorenburg
2002-01-19 11:28         ` Alexander Viro
2002-01-19 12:01           ` Miquel van Smoorenburg
2002-01-23 12:18             ` Pavel Machek
2002-01-24  9:46               ` Herbert Xu
2002-01-19 17:44           ` Kai Henningsen
2002-01-20 15:30             ` Richard Kettlewell
2002-01-20 18:21               ` Doug McNaught
2002-01-20 23:10               ` Miquel van Smoorenburg
2002-01-20  3:55           ` Chris Wedgwood
2002-01-19 15:21         ` Horst von Brand
2002-01-19 15:32           ` Mr. James W. Laferriere
2002-01-19 20:26             ` Rob Landley
2002-01-19 17:53           ` Miquel van Smoorenburg
2002-01-20 15:48             ` Horst von Brand
2002-01-19 20:24           ` Rob Landley
2002-01-19 11:15       ` Ville Herva
2002-01-19 12:16       ` Matthias Schniedermeyer
2002-01-19 12:22         ` Xavier Bestel
2002-01-19 12:29           ` Alexander Viro
2002-01-19 12:46             ` Xavier Bestel
2002-01-19 13:18               ` Rogier Wolff
2002-01-19 15:24             ` Horst von Brand
2002-01-19 14:50     ` Horst von Brand
2002-01-20 14:23     ` Remi Turk
2002-01-20 20:02       ` Ville Herva
2002-01-20 20:44         ` Andreas Ferber
2002-01-20 21:08           ` Ville Herva
2002-01-21  9:06             ` Horst von Brand
2002-01-21  9:21               ` Ville Herva
2002-01-18 21:59 ` J Sloan
2002-01-19  4:18 ` Andreas Bombe
2002-01-19 14:51   ` christophe barbé
2002-01-19 18:01     ` Kai Henningsen
2002-01-20  3:43       ` christophe barbé
  -- strict thread matches above, loose matches on Subject: below --
2002-01-18 22:11 Hank Leininger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020118152833.A30386@asooo.flowerfire.com \
    --to=brownfld@irridia.com \
    --cc=lathi@seapine.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox