[sheepdog] [PATCH 3/4] sheep: remove tempoary objects only when sheep starts up

MORITA Kazutaka morita.kazutaka at lab.ntt.co.jp
Mon Sep 10 12:00:47 CEST 2012


At Mon, 10 Sep 2012 11:31:37 +0800,
Liu Yuan wrote:
> 
> On 09/10/2012 12:13 AM, MORITA Kazutaka wrote:
> > It is not safe to remove temporary objects while sheep is running.
> 
> why it is not safe? not thread-safe or something else?

It is because there are situations where atomic_put (in the worker
threads) and for_each_object_in_wd (in the main thread) are called at
the same time.  For example, while default_end_recover calls
for_each_object_in_wd, in-flight I/O requests can call atomic_put.

I should have included this description into the commit log, sorry.

Thanks,

Kazutaka



More information about the sheepdog mailing list