diff options
Diffstat (limited to 'fs/ext4/ext4_jbd2.c')
-rw-r--r-- | fs/ext4/ext4_jbd2.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/ext4/ext4_jbd2.c b/fs/ext4/ext4_jbd2.c index 3445035c7e01..d41843181818 100644 --- a/fs/ext4/ext4_jbd2.c +++ b/fs/ext4/ext4_jbd2.c | |||
@@ -87,6 +87,12 @@ int __ext4_journal_stop(const char *where, unsigned int line, handle_t *handle) | |||
87 | ext4_put_nojournal(handle); | 87 | ext4_put_nojournal(handle); |
88 | return 0; | 88 | return 0; |
89 | } | 89 | } |
90 | |||
91 | if (!handle->h_transaction) { | ||
92 | err = jbd2_journal_stop(handle); | ||
93 | return handle->h_err ? handle->h_err : err; | ||
94 | } | ||
95 | |||
90 | sb = handle->h_transaction->t_journal->j_private; | 96 | sb = handle->h_transaction->t_journal->j_private; |
91 | err = handle->h_err; | 97 | err = handle->h_err; |
92 | rc = jbd2_journal_stop(handle); | 98 | rc = jbd2_journal_stop(handle); |