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... Thanks, Hitoshi -- sheepdog mailing list [email protected] http://lists.wpkg.org/mailman/listinfo/sheepdog
