• Dave Wysochanski's avatar
    dm mpath: add retry pg init · c9e45581
    Dave Wysochanski authored
    This patch allows a failed path group initialisation command to be retried.
    
    It adds a generic MP_RETRY flag and a "pg_init_retries" feature to
    device-mapper multipath which limits the number of retries.
    
    1. A hw handler sends a path initialization command to the storage and
    the command completes with an error code indicating the command
    should be retried.
    
    2. The hardware handler calls dm_pg_init_complete() with MP_RETRY
    set in err_flags to ask the dm multipath core to retry.
    
    3. If the retry limit has not been exceeded, pg_init() is retried.
    Otherwise fail_path() is called.
    
    If you are using the userspace multipath-tools or device-mapper-multipath
    package, you can set pg_init_retries in the 'device' section of your
    /etc/multipath.conf file. For example:
    
    features                "2 pg_init_retries 7"
    
    The number of PG retries attempted is reported in the 'dmsetup status' output.
    Signed-off-by: default avatarDave Wysochanski <dwysocha@redhat.com>
    Acked-by: default avatarMike Christie <michaelc@cs.wisc.edu>
    Acked-by: default avatarChandra Seetharaman <sekharan@us.ibm.com>
    Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
    c9e45581
dm-mpath.c 31.5 KB