[parted-devel] [PATCH] Fall back to not using O_DIRECT
Jim Meyering
jim at meyering.net
Fri Aug 8 14:00:20 UTC 2008
Olaf Hering <olh at suse.de> wrote:
> On Wed, Aug 06, Jim Meyering wrote:
>
>> Olaf Hering <olh at suse.de> wrote:
>>
>> > On Wed, Aug 06, Jim Meyering wrote:
>> >
>> >> I agree wholeheartedly that arch-specific #ifdefs are best
>> >> avoided, but am a little leery of removing O_DIRECT altogether.
>> >> However, I'm currently leaning towards accepting this.
>> >> Has this change been tested much?
>> >
>> > Its a result of this bug, the patch is used since one year.
>> >
>> > https://bugzilla.novell.com/show_bug.cgi?id=290087
>>
>> Thanks.
>> It's reassuring to know it's gotten some exposure.
>>
>> Can I expect you to adjust your patch to detect
>> fsync and close failures?
>
> How should it handle the failures?
> parted cant do anything about the error in practice.
Parted should report the write error, and propagate the failure "up" the
call tree. Any time Parted ignores a write failure, that is a potential
for serious data loss. An obvious bug.
The hard part (given the current implementation) is making a write
failure translate to a parted exit status that is nonzero. For now,
if you would at least make it diagnose any failure, that'd be enough.
For example, _do_fsync detects fsync failure and reports it.
Speaking of _do_fsync, the added fsync calls in your patch end up
being redundant with the fsync call performed by _do_fsync in some
code paths, but that's probably not worth worrying about.
More information about the parted-devel
mailing list