[sheepdog] [RFC PATCH] object cache: revert object_cache_pull() to older version

Liu Yuan namei.unix at gmail.com
Mon Jun 4 10:15:48 CEST 2012


On 06/04/2012 04:07 PM, MORITA Kazutaka wrote:

>> I am not 100% about this issue. It is from the experience from
>> > development of sheepfs, when I use a single FD to read/write. Since FUSE
>> > will issue highly concurrent requests, I noticed the same error as above
>> > example: the error code is quite random (see above is '54014b01').
>> > 
>> > After a long time debugging, I came to a conclusion that the problem
>> > *might* be:
>> > 
>> > The subsequent read/write requests interleaves with the previous one,
>> > and wrongly read the response.
> I think we should reveal how they interleave before working out how to
> fix.
> 
> The current fd cache seems to allow multiple accesses to the same node
> because cached_fds is a thread-local variable and there is no fd which
> is used by multiple threads at the same time.


Ah, yes, it is thread local. Then I have no idea how the ret value could
be random, I don't find a reliable way to reproduce this problem.

Thanks,
Yuan



More information about the sheepdog mailing list