lkml.org 
[lkml]   [2012]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4/5] GFS2: fail mount if journal recovery fails
    Date
    From: David Teigland <teigland@redhat.com>

    If the first mounter fails to recover one of the journals
    during mount, the mount should fail.

    Signed-off-by: David Teigland <teigland@redhat.com>
    Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>

    diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
    index e5701c7..97742a7 100644
    --- a/fs/gfs2/incore.h
    +++ b/fs/gfs2/incore.h
    @@ -429,6 +429,7 @@ struct gfs2_jdesc {
    #define JDF_RECOVERY 1
    unsigned int jd_jid;
    unsigned int jd_blocks;
    + int jd_recover_error;
    };

    struct gfs2_statfs_change_host {
    diff --git a/fs/gfs2/recovery.c b/fs/gfs2/recovery.c
    index 80701d1..963b2d7 100644
    --- a/fs/gfs2/recovery.c
    +++ b/fs/gfs2/recovery.c
    @@ -583,6 +583,7 @@ fail_gunlock_j:

    fs_info(sdp, "jid=%u: %s\n", jd->jd_jid, (error) ? "Failed" : "Done");
    fail:
    + jd->jd_recover_error = error;
    gfs2_recovery_done(sdp, jd->jd_jid, LM_RD_GAVEUP);
    done:
    clear_bit(JDF_RECOVERY, &jd->jd_flags);
    @@ -611,6 +612,6 @@ int gfs2_recover_journal(struct gfs2_jdesc *jd, bool wait)
    wait_on_bit(&jd->jd_flags, JDF_RECOVERY, gfs2_recovery_wait,
    TASK_UNINTERRUPTIBLE);

    - return 0;
    + return wait ? jd->jd_recover_error : 0;
    }

    --
    1.7.4


    \
     
     \ /
      Last update: 2012-01-11 14:25    [W:0.019 / U:30.760 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site