GNU bug report logs - #12366
[gnu-prog-discuss] Writing unwritable files

Previous Next

Package: coreutils;

Reported by: Paolo Bonzini <bonzini <at> gnu.org>

Date: Thu, 6 Sep 2012 12:14:01 UTC

Severity: normal

Done: Jim Meyering <meyering <at> hx.meyering.net>

Bug is archived. No further changes may be made.

Full log


Message #41 received at 12366 <at> debbugs.gnu.org (full text, mbox):

From: Bernhard Voelker <mail <at> bernhard-voelker.de>
To: 12366 <at> debbugs.gnu.org, Paul Eggert <eggert <at> cs.ucla.edu>, 
	gnu-prog-discuss <at> gnu.org, John Darrington <john <at> darrington.wattle.id.au>
Subject: Re: bug#12366: [gnu-prog-discuss] Writing unwritable files
Date: Thu, 6 Sep 2012 19:35:29 +0200 (CEST)
On September 6, 2012 at 7:23 PM Paul Eggert <eggert <at> cs.ucla.edu> wrote:

> On 09/06/2012 10:12 AM, Bob Proulx wrote:
> > The file replacement is atomic.  The reading of the file is not.
>
> Sure, but the point is that from the end user's
> point of view, 'sed -i' is not atomic, and can't
> be expected to be atomic.
>
> 'sed -i' and 'sort -o' both use some atomic operations
> internally, but neither is atomic overall.  Users who
> want atomicity must look elsewhere, or implement it
> themselves.

Why can't 'sed -i' be made atomic for the user?
Today, it creates a temporary file for the output.
At the end, it calls rename(). What if it instead
rewinds the input and that temporary file and copies
it's content to the input file?
Okay, this is slower than a rename(), but it would
write into the same inode. To preserve today's behaviour,
this could be done with a new option like --in-place-same.

Just a thought.

Have a nice day,
Berny




This bug report was last modified 12 years and 232 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.