On 27 May 2015 at 19:56, Ivan Zhakov <ivan_at_visualsvn.com> wrote:
> On 27 May 2015 at 19:48, Philip Martin <philip.martin_at_wandisco.com> wrote:
>> Julian Foad <julianfoad_at_btopenworld.com> writes:
>>
>>> Evgeny Kotkov wrote:
>>>> Philip, Julian, thank you for giving this patch a look.
>>>>
>>>> As I said in my previous e-mails, I think that the committed fix is a better
>>>> choice here, as opposed to attempts to achieve the same behavior using the
>>>> stream API. [...]
>>>
>>> That sounds good to me -- leaving the code using file APIs.
>>
> +1.
>
>> It only fixes writing revprops during commit, it still leaves the
>> problem that the pack operation doesn't flush. We need to add flush
>> when writing the revision pack file, the packed indices, the revprop
>> pack file and the revprop manifest file. That means replacing more, if
>> not all, of the stream code in revprops.c.
>>
> I'm currently working on patch to fix packing and hotcopy code.
>
Please find patch that adds disk flushes to FSFS packing code in attachment.
I'm currently testing it and going to commit it later. This patch
should also slightly improve packing performance as a bonus, since we
can avoid APR buffered IO for some cases.
--
Ivan Zhakov
Received on 2015-05-27 19:26:44 CEST