[lkml]   [2010]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[73/98] md: fix small irregularity with start_ro module parameter
    2.6.32-stable review patch.  If anyone has any objections, please let us know.


    From: NeilBrown <>

    commit 0f9552b5dc4fe10da37fa3f4a4ca185d90fa41c9 upstream.

    The start_ro modules parameter can be used to force arrays to be
    started in 'auto-readonly' in which they are read-only until the first
    write. This ensures that no resync/recovery happens until something
    else writes to the device. This is important for resume-from-disk
    off an md array.

    However if an array is started 'readonly' (by writing 'readonly' to
    the 'array_state' sysfs attribute) we want it to be really 'readonly',
    not 'auto-readonly'.

    So strengthen the condition to only set auto-readonly if the
    array is not already read-only.

    Signed-off-by: NeilBrown <>
    Signed-off-by: Greg Kroah-Hartman <>

    drivers/md/md.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/md/md.c
    +++ b/drivers/md/md.c
    @@ -4173,7 +4173,7 @@ static int do_md_run(mddev_t * mddev)
    mddev->barriers_work = 1;
    mddev->ok_start_degraded = start_dirty_degraded;

    - if (start_readonly)
    + if (start_readonly && mddev->ro == 0)
    mddev->ro = 2; /* read-only, but switch on first write */

    err = mddev->pers->run(mddev);

     \ /
      Last update: 2010-01-27 00:53    [W:0.030 / U:15.320 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site