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 Wen Congyang > > Stefan >