[sheepdog] [RFC PATCH] object cache: revert object_cache_pull() to older version
Liu Yuan
namei.unix at gmail.com
Thu Jun 7 11:29:03 CEST 2012
On 06/05/2012 06:22 PM, MORITA Kazutaka wrote:
> At Tue, 05 Jun 2012 16:43:05 +0800,
> Liu Yuan wrote:
>>
>> On 06/04/2012 04:53 PM, MORITA Kazutaka wrote:
>>
>>> One possibility is that if forward_write_obj_req() fails before
>>> receiving data, the next forward_(read|write)_obj_req() could be
>>> interleaved.
>>>
>>> The below untested patch may fix the problem though the approach is a
>>> poor way.
>>
>>
>> This fix doesn't fix anything.
>
> I think my patch will fix the bug I said above, though it doesn't fix
> your problem.
>
>> I wrote a workaround: use connect_to()
>> inside forward_write_obj_req(), and close(fd) when out of function. The
>> problem is gone.
>
> I have no idea why the problem happens for now. I've not reproduced
> it yet on my environment.
Hi Kazum
You guessed right on the problem, but just the fix doesn't cover all
the error cases. Finally I come up with an updated fix and this problem
is gone.
Thanks,
Yuan
More information about the sheepdog
mailing list