[prev in list] [next in list] [prev in thread] [next in thread] 

List:       coreutils-bug
Subject:    bug#13028: inplace
From:       Pádraig Brady <P () draigBrady ! com>
Date:       2016-05-16 14:42:20
Message-ID: 5739DC4C.5030309 () draigBrady ! com
[Download RAW message or body]

On 16/05/16 14:47, Reuben Thomas wrote:
> On 16 May 2016 at 14:42, Pádraig Brady <P@draigbrady.com> 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 list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic