Bug 244693

Summary: gmirror configure priority does not take an effect until reboot?
Product: Base System Reporter: Paul <spy>
Component: kernAssignee: freebsd-geom (Nobody) <geom>
Status: New ---    
Severity: Affects Only Me CC: lwhsu
Priority: ---    
Version: 12.1-RELEASE   
Hardware: Any   
OS: Any   

Description Paul 2020-03-09 12:05:32 UTC
`gmirror label -hvb prefer test /dev/gpt/test1 /dev/gpt/test2`

gmirror sets priority by default:
/dev/gpt/test1 -> 0
/dev/gpt/test2 -> 1

when you run `dd if=/dev/mirror/test of=/dev/null` you can see in gstat/iostat, that /dev/gpt/test2 is loaded for read.

then after `gmirror configure -p 5 test /dev/gpt/test1`, running `dd if=/dev/mirror/test of=/dev/null`  you can see, that /dev/gpt/test2 is still used for read.

after reboot, changes take effect, and /dev/gpt/test1 really starts to be used for read operations.

there are no way to reload gmirror to apply changes without reboot, except this strange way, when you remake mirror with the "right" devices order:
`gmirror stop test; gmirror label -hvb prefer test /dev/gpt/test2 /dev/gpt/test1`