[sheepdog] read/write during recovery

Dietmar Maurer dietmar at proxmox.com
Tue Jul 24 08:04:24 CEST 2012



> -----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





More information about the sheepdog mailing list