mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
GFS2: fail mount if journal recovery fails
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>
This commit is contained in:
parent
e8ca5cc571
commit
376d37788b
2 changed files with 3 additions and 1 deletions
|
@ -429,6 +429,7 @@ struct gfs2_jdesc {
|
||||||
#define JDF_RECOVERY 1
|
#define JDF_RECOVERY 1
|
||||||
unsigned int jd_jid;
|
unsigned int jd_jid;
|
||||||
unsigned int jd_blocks;
|
unsigned int jd_blocks;
|
||||||
|
int jd_recover_error;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct gfs2_statfs_change_host {
|
struct gfs2_statfs_change_host {
|
||||||
|
|
|
@ -583,6 +583,7 @@ fail_gunlock_j:
|
||||||
|
|
||||||
fs_info(sdp, "jid=%u: %s\n", jd->jd_jid, (error) ? "Failed" : "Done");
|
fs_info(sdp, "jid=%u: %s\n", jd->jd_jid, (error) ? "Failed" : "Done");
|
||||||
fail:
|
fail:
|
||||||
|
jd->jd_recover_error = error;
|
||||||
gfs2_recovery_done(sdp, jd->jd_jid, LM_RD_GAVEUP);
|
gfs2_recovery_done(sdp, jd->jd_jid, LM_RD_GAVEUP);
|
||||||
done:
|
done:
|
||||||
clear_bit(JDF_RECOVERY, &jd->jd_flags);
|
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,
|
wait_on_bit(&jd->jd_flags, JDF_RECOVERY, gfs2_recovery_wait,
|
||||||
TASK_UNINTERRUPTIBLE);
|
TASK_UNINTERRUPTIBLE);
|
||||||
|
|
||||||
return 0;
|
return wait ? jd->jd_recover_error : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue