[sheepdog] [PATCH 0/2] avoid heavy disk I/O in the main thread

Hitoshi Mitake mitake.hitoshi at gmail.com
Thu Oct 9 08:20:27 CEST 2014


On Thu, Oct 9, 2014 at 12:16 AM, Hitoshi Mitake
<mitake.hitoshi at lab.ntt.co.jp> 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...

Thanks,
Hitoshi



More information about the sheepdog mailing list