• Guoqing Jiang's avatar
    md: reorgnize mddev_create/destroy_serial_pool · de31ee94
    Guoqing Jiang authored
    So far, IO serialization is used for two scenarios:
    
    1. raid1 which enables write-behind mode, and there is rdev in the array
    which is multi-queue device and flaged with writemostly.
    2. IO serialization is enabled or disabled by change serialize_policy.
    
    So introduce rdev_need_serial to check the first scenario. And for 1, IO
    serialization is enabled automatically while 2 is controlled manually.
    
    And it is possible that both scenarios are true, so for create serial pool,
    rdev/rdevs_init_serial should be separate from check if the pool existed or
    not. Then for destroy pool, we need to check if the pool is needed by other
    rdevs due to the first scenario.
    Signed-off-by: default avatarGuoqing Jiang <guoqing.jiang@cloud.ionos.com>
    Signed-off-by: default avatarSong Liu <songliubraving@fb.com>
    de31ee94
md.c 255 KB