[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified
From: |
Giuseppe Scrivano |
Subject: |
bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified |
Date: |
Mon, 26 Jan 2015 09:36:05 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) |
Pádraig Brady <address@hidden> writes:
> On 25/01/15 18:05, Bernhard Voelker wrote:
>> On 01/25/2015 06:41 PM, Pádraig Brady wrote:
>>> So we have: fdatasync < fsync < syncfs < sync
>>> referring to:: file data, file data + metadata, file system, all file
>>> systems
>>
>>> [...]
>>
>>> I'd be incline to go with the _what_ interface above.
>>
>> Either way, I think it's important to document sync is falling back
>> to the bigger hammer if the smaller failed.
>> ... or shouldn't do sync this?
>
> It should fall back where possible.
>
> Now there is a difference between the file and file system(s) interfaces
> in that the former can return EIO error for example, while the latter
> are specified to always return success. You wouldn't fall back to
> a syncfs() if an fsync() gave an EIO for example. Also gnulib
> guarantees that fsync() and fdatasync() are available, so I wouldn't
> fallback from file -> file system interfaces, nor between file interfaces.
one risk here is when multiple arguments are specified and the fsync
will return EIO more than once, we will fallback to syncfs multiple
times. Couldn't in this case a single sync be a better choice?
Regards,
Giuseppe
- bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified, Giuseppe Scrivano, 2015/01/24
- bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified, Pádraig Brady, 2015/01/24
- bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified, Giuseppe Scrivano, 2015/01/25
- bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified, Pádraig Brady, 2015/01/25
- bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified, Bernhard Voelker, 2015/01/25
- bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified, Pádraig Brady, 2015/01/25
- bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified,
Giuseppe Scrivano <=
- bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified, Pádraig Brady, 2015/01/26
- bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified, Giuseppe Scrivano, 2015/01/26
- bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified, Pádraig Brady, 2015/01/26
- bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified, Giuseppe Scrivano, 2015/01/27
- bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified, Pádraig Brady, 2015/01/27
- bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified, Bernhard Voelker, 2015/01/28
- bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified, Pádraig Brady, 2015/01/28
bug#19681: [PATCH] sync: use syncfs(2) if any argument is specified, Eric Blake, 2015/01/26