> On Aug 19, 2019, at 12:11 PM, Guilherme G. Piccoli <gpiccoli@xxxxxxxxxxxxx> wrote: > > On 19/08/2019 15:57, Song Liu wrote: >> [...] >> >> I was thinking, if we can set MD_BROKEN when the device fails, we can >> just test MD_BROKEN in array_state_show() (instead of iterating through >> all devices). >> >> Would this work? >> >> Thanks, >> Song >> > > This could work, but will require some refactors; it'll simplify the > check for a healthy array (no need for is_missing_dev() function) but > will complicate the criteria to clear MD_BROKEN and the detection of > more members failing (we would stop the detection after the 1st failure > if we only test MD_BROKEN). > > We will always need to test the GENHD_FL_UP in some code path, to be > able to show users device recovered from a failure. > Where do you suggest to test this flag? How about we test this when we do clear_bit(Faulty..)? And maybe also in add_new_disk()? Thanks, Song