On Mon, 16 May 2016 at 15:42, Pádraig Brady <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 > 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