|
@@ -256,8 +256,8 @@ int __ext4_handle_dirty_metadata(const char *where, unsigned int line,
|
|
|
set_buffer_prio(bh);
|
|
|
if (ext4_handle_valid(handle)) {
|
|
|
err = jbd2_journal_dirty_metadata(handle, bh);
|
|
|
- /* Errors can only happen if there is a bug */
|
|
|
- if (WARN_ON_ONCE(err)) {
|
|
|
+ /* Errors can only happen due to aborted journal or a nasty bug */
|
|
|
+ if (!is_handle_aborted(handle) && WARN_ON_ONCE(err)) {
|
|
|
ext4_journal_abort_handle(where, line, __func__, bh,
|
|
|
handle, err);
|
|
|
if (inode == NULL) {
|