• Xiao Ni's avatar
    md: Add new_level sysfs interface · d981ed84
    Xiao Ni authored
    Now reshape supports two ways: with backup file or without backup file.
    For the situation without backup file, it needs to change data offset.
    It doesn't need systemd service mdadm-grow-continue. So it can finish
    the reshape job in one process environment. It can know the new level
    from mdadm --grow command and can change to new level after reshape
    finishes.
    
    For the situation with backup file, it needs systemd service
    mdadm-grow-continue to monitor reshape progress. So there are two process
    envolved. One is mdadm --grow command whick kicks off reshape and wakes
    up mdadm-grow-continue service. The second process is the service, which
    doesn't know the new level from the first process.
    
    In kernel space mddev->new_level is used to record the new level when
    doing reshape. This patch adds a new interface to help mdadm update
    new_level and sync it to metadata. Then mdadm-grow-continue can read the
    right new_level.
    
    Commit log revised by Song Liu. Please refer to the link for more details.
    Signed-off-by: default avatarXiao Ni <xni@redhat.com>
    Link: https://lore.kernel.org/r/20240904235453.99120-1-xni@redhat.comSigned-off-by: default avatarSong Liu <song@kernel.org>
    d981ed84
md.c 265 KB