On Thu, Oct 9, 2014 at 12:20 AM, Hitoshi Mitake
<[email protected]> wrote:
> On Thu, Oct 9, 2014 at 12:16 AM, Hitoshi Mitake
> <[email protected]> wrote:
>> Recently, Philip and Tsuji-san reported a problem of critical request
>> block caused by recovery process. I found a problematic behavior
>> purge_directory() of libsheepdog which can cause long stop of the main
>> thread. It would be a root cause of the problem. This patchset solves
>> it.
>>
>> Hitoshi Mitake (2):
>>   lib: add an interface for registering workqueue for libsheepdog
>>   lib: call rmdir(2) and unlink(2) in worker threads during purging
>>     directory
>>
>>  include/util.h |  3 +++
>>  lib/util.c     | 80 
>> +++++++++++++++++++++++++++++++++++++++++++++++++++-------
>>  sheep/sheep.c  |  2 ++
>>  3 files changed, 76 insertions(+), 9 deletions(-)
>
> Tsuji-san, could you test this patchset on your test environment? The
> request blocking time depends on a number of stored object, so testing
> with large disks is ideal (e.g. preparing a cluster which consists 3
> node with 2TB disk, let nodes have more than 1TB objects, and adding
> one node to the cluster).
>
> This would require amount of time, sorry for that...

The same changes can be found in this branch:
https://github.com/sheepdog/sheepdog/tree/avoid-blocking

Thanks,
Hitoshi
-- 
sheepdog mailing list
[email protected]
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to