• Andrew Morton's avatar
    This fixes the "i_blocks went wrong when the disk filled up" · b1a5f642
    Andrew Morton authored
    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.
    b1a5f642
balloc.c 28.5 KB