[sheepdog] Is it necessary for outstanding io block leave/join event?

Liu Yuan namei.unix at gmail.com
Thu May 17 09:48:07 CEST 2012


On 05/17/2012 03:40 PM, MORITA Kazutaka wrote:

> I thought that one advantage of the simple_store driver was that it
> uses a syscall link() to copy objects from local older epochs to the
> current epoch, so we could avoid many I/Os in the recovery process.
> However, it seems that the link operation of the farm driver is not
> called at all on my environment.  Does Farm do the recovery process in
> the different way from the simple_store driver?


farm_link() will be called for multiple nodes events and in a very
unusual corner cases. Actually, for the case you describe Farm works in
a more optimal way: there isn't any operations for the object that isn't
to be migrated to other nodes, save a system call of link() than simple
store.

This contributes to Farm to outperform simple store for recovery,
because most objects are not to be migrated at all for a recovery.

Thanks,
Yuan



More information about the sheepdog mailing list