This fixes the "i_blocks went wrong when the disk filled up"
problem. In ext3_new_block() we increment i_blocks early, so the quota operation can be performed outside lock_super(). But if the block allocation ends up failing, we forget to undo the allocation. This is not a serious bug, and probably does not warrant an upgrade for production machines. Its effects are: 1) errors are generated from e2fsck and 2) users could appear to be over quota when they really aren't. The patch undoes the accounting operation if the allocation ends up failing.
Showing
Please register or sign in to comment