> -----Original Message----- > From: MORITA Kazutaka [mailto:morita.kazutaka at gmail.com] > Sent: Dienstag, 24. Juli 2012 07:53 > To: Dietmar Maurer > Cc: sheepdog at lists.wpkg.org > Subject: Re: [sheepdog] read/write during recovery > > On Tue, Jul 24, 2012 at 1:33 PM, Dietmar Maurer <dietmar at proxmox.com> > wrote: > > Hi all, > > > > first, sorry for asking this again. I would really like to understand > > the code, so the following question is important for me. > > > > How does read/write during recovery works exactly. > > > > I first though we can simply reject reads. For writes, we can reject > > them until we start object recovery. After that point we cache/log > > written data (but still reject reads). When we have received the whole > > object we merge it with write cache (apply write log). > > > > But code in request.c (request_in_recovery()) seems to delay such > > request, and put them on a wait queue. > > > > Why is that necessary? > > My answer didn't help you? > > http://lists.wpkg.org/pipermail/sheepdog/2012-July/005478.html Oh, I missed that mail somehow. Anyways, I does not really answer my question. Why can we simply reject read/writes until we start recovering a specific object? The gateway should retry on other nodes, so that is not a problem? We just need to take care of writes while we recover a specific object (write journal, apply after revover)? - Dietmar |