• Theodore Ts'o's avatar
    ext4: Fix lack of credits BUG() when deleting a badly fragmented inode · bc965ab3
    Theodore Ts'o authored
    The extents codepath for ext4_truncate() requests journal transaction
    credits in very small chunks, requesting only what is needed.  This
    means there may not be enough credits left on the transaction handle
    after ext4_truncate() returns and then when ext4_delete_inode() tries
    finish up its work, it may not have enough transaction credits,
    causing a BUG() oops in the jbd2 core.
    
    Also, reserve an extra 2 blocks when starting an ext4_delete_inode()
    since we need to update the inode bitmap, as well as update the
    orphaned inode linked list.
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    bc965ab3
inode.c 133 KB