diff options
Diffstat (limited to 'fs/gfs2/trans.c')
-rw-r--r-- | fs/gfs2/trans.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/fs/gfs2/trans.c b/fs/gfs2/trans.c index 053752d4b27f..4ef0e9fa3549 100644 --- a/fs/gfs2/trans.c +++ b/fs/gfs2/trans.c | |||
@@ -33,6 +33,9 @@ int gfs2_trans_begin(struct gfs2_sbd *sdp, unsigned int blocks, | |||
33 | BUG_ON(current->journal_info); | 33 | BUG_ON(current->journal_info); |
34 | BUG_ON(blocks == 0 && revokes == 0); | 34 | BUG_ON(blocks == 0 && revokes == 0); |
35 | 35 | ||
36 | if (!test_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags)) | ||
37 | return -EROFS; | ||
38 | |||
36 | tr = kzalloc(sizeof(struct gfs2_trans), GFP_NOFS); | 39 | tr = kzalloc(sizeof(struct gfs2_trans), GFP_NOFS); |
37 | if (!tr) | 40 | if (!tr) |
38 | return -ENOMEM; | 41 | return -ENOMEM; |
@@ -54,12 +57,6 @@ int gfs2_trans_begin(struct gfs2_sbd *sdp, unsigned int blocks, | |||
54 | if (error) | 57 | if (error) |
55 | goto fail_holder_uninit; | 58 | goto fail_holder_uninit; |
56 | 59 | ||
57 | if (!test_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags)) { | ||
58 | tr->tr_t_gh.gh_flags |= GL_NOCACHE; | ||
59 | error = -EROFS; | ||
60 | goto fail_gunlock; | ||
61 | } | ||
62 | |||
63 | error = gfs2_log_reserve(sdp, tr->tr_reserved); | 60 | error = gfs2_log_reserve(sdp, tr->tr_reserved); |
64 | if (error) | 61 | if (error) |
65 | goto fail_gunlock; | 62 | goto fail_gunlock; |