On 12/09/2022 09:07, Reuben Thomas wrote:
On Mon, 16 May 2016 at 15:42, Pádraig Brady <p...@draigbrady.com 
<mailto:p...@draigbrady.com>> 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 <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!

Not yet unfortunately




  • bug#13028: inplace Reuben Thomas via GNU coreutils Bug Reports
    • bug#13028: inplace Pádraig Brady

Reply via email to