[dm-devel] [PATCH v2 1/2] md raid0/linear: Introduce new array state 'broken'

Song Liu songliubraving at fb.com
Wed Aug 21 16:14:11 UTC 2019



> On Aug 21, 2019, at 7:16 AM, Guilherme G. Piccoli <gpiccoli at canonical.com> wrote:
> 
> On 19/08/2019 18:57, Song Liu wrote:
>> [...]
>> How about we test this when we do clear_bit(Faulty..)? And maybe also in 
>> add_new_disk()?
>> 
>> Thanks,
>> Song
>> 
> 
> Song, thanks for the suggestions. I've been working in the refactor, so
> far it's working fine. But I cannot re-add a member to raid0/linear
> without performing a full stop (with "mdadm --stop"), and in this case
> md_clean() will clear the flag. Restarting array this way works fine.
> 
> If I try writing 'inactive' to array_state, I cannot reinsert the member
> to the array. That said, I don't think we need to worry in clearing
> MD_BROKEN for RAID0/LINEAR, and it makes things far easier.
> Are you ok with that? I'll submit V3 after our discussion.
> 

What do you mean by "not clear MD_BROKEN"? Do you mean we need to restart
the array? 

IOW, the following won't work:

  mdadm --fail /dev/md0 /dev/sdx
  mdadm --remove /dev/md0 /dev/sdx
  mdadm --add /dev/md0 /dev/sdx
  
And we need the following instead:

  mdadm --fail /dev/md0 /dev/sdx
  mdadm --remove /dev/md0 /dev/sdx
  mdadm --stop /dev/md0 /dev/sdx
  mdadm --add /dev/md0 /dev/sdx
  mdadm --run /dev/md0 /dev/sdx

Thanks,
Song




More information about the dm-devel mailing list