|
@@ -1290,7 +1290,10 @@ int jbd2_journal_dirty_metadata(handle_t *handle, struct buffer_head *bh)
|
|
|
* once a transaction -bzzz
|
|
* once a transaction -bzzz
|
|
|
*/
|
|
*/
|
|
|
jh->b_modified = 1;
|
|
jh->b_modified = 1;
|
|
|
- J_ASSERT_JH(jh, handle->h_buffer_credits > 0);
|
|
|
|
|
|
|
+ if (handle->h_buffer_credits <= 0) {
|
|
|
|
|
+ ret = -ENOSPC;
|
|
|
|
|
+ goto out_unlock_bh;
|
|
|
|
|
+ }
|
|
|
handle->h_buffer_credits--;
|
|
handle->h_buffer_credits--;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1373,7 +1376,6 @@ out_unlock_bh:
|
|
|
jbd2_journal_put_journal_head(jh);
|
|
jbd2_journal_put_journal_head(jh);
|
|
|
out:
|
|
out:
|
|
|
JBUFFER_TRACE(jh, "exit");
|
|
JBUFFER_TRACE(jh, "exit");
|
|
|
- WARN_ON(ret); /* All errors are bugs, so dump the stack */
|
|
|
|
|
return ret;
|
|
return ret;
|
|
|
}
|
|
}
|
|
|
|
|
|