Subject: Re: bug#13028: inplace

From: Reuben Thomas <[email-masked]>
Date: Mon, 12 Sep 2022 09:07:36 +0100

On Mon, 16 May 2016 at 15:42, Pádraig Brady <[email-masked]> wrote:

>
> I just don't have the time at present to complete this.
>
> I did implement ACID file replacement using POSIX APIs a while ago in:
> https://github.com/pixelb/crudini
> The commit messages there have details on fsync()ing requirements etc.
>
> Implementation in C in coreutils could also use other APIs where available
> like renameat2(..., RENAME_EXCHANGE) and exchangedata() etc.
> I noticed XFS_IOC_SWAPEXT but that's currently hardcoded
> to support only same sized replacements (for defragment apps).
> I was thinking of providing a wrapper for exchangedata() in gnulib,
> which could be leveraged where available or falling back to
> the current POSIX APIs.
>

Did you get any further? I was prompted to look up this thread by a
deprecation message for "tempfile" from Victor Porton's "inplace" script,
which I still use!

-- 
https://rrt.sc3d.org