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

Hitoshi Mitake mitake.hitoshi at lab.ntt.co.jp
Mon Oct 20 09:55:09 CEST 2014


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.

v2:
 - use ordered workqueue
 - reduce memory consumption caused by work queuing

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     | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 sheep/sheep.c  |   7 ++++
 3 files changed, 109 insertions(+), 8 deletions(-)

-- 
1.8.3.2




More information about the sheepdog mailing list