On Mon, Jul 13, 2015 at 10:41:53AM +0800, Wen Congyang wrote: > On 07/02/2015 10:48 PM, Stefan Hajnoczi wrote: > > On Wed, Jul 01, 2015 at 04:49:40PM +0800, Wen Congyang wrote: > >> On 07/01/2015 04:39 PM, Stefan Hajnoczi wrote: > >>> On Thu, Jun 25, 2015 at 02:55:10PM +0800, Wen Congyang wrote: > >>>> Signed-off-by: Wen Congyang <we...@cn.fujitsu.com> > >>>> --- > >>>> block.c | 5 +++-- > >>>> block/mirror.c | 3 ++- > >>>> blockdev.c | 2 +- > >>>> include/block/block.h | 3 ++- > >>>> 4 files changed, 8 insertions(+), 5 deletions(-) > >>> > >>> This patch is missing a commit description. What is the justification > >>> for this change? > >> > >> Sorry, I forgot to add commit messages.. > >> > >> Without this patch, the replace node can be any node, and it can be > >> top BDS with BB, or another quorum's child. With this patch, the replace > >> node > >> must be this quorum's child. > > > > I think the point of the replace operation was to swap a quorum child > > with a new drive. It sounds like this patch will break that use case? > > > > The idea was that a failed child needs to be replaced. The user adds a > > new -drive and then uses the mirror+replace to include it into the > > quorum. I think the new child is not be part of the quorum BDS graph > > until replacement occurs. > > bs/s->common.bs is quorum, and to_replace is the broken child. > The new child is target_bs. With this patch, we just check if > the broken child is part of the quorum BDS. > > Do I misunderstand something?
Thanks for explaining. That makes sense. Please resend with a commit description. Stefan
pgpcnquBoFmHz.pgp
Description: PGP signature