|
From: | Pádraig Brady |
Subject: | bug#13028: inplace |
Date: | Mon, 16 May 2016 15:42:20 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 16/05/16 14:47, Reuben Thomas wrote:
On 16 May 2016 at 14:42, Pádraig Brady <address@hidden> wrote:On 16/05/16 14:15, Reuben Thomas wrote:Did this get anywhere?Nothing public unfortunately.Are there difficulties one might be able to help with?
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. thanks, Pádraig
[Prev in Thread] | Current Thread | [Next in Thread] |