Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e7f07968 authored by Theodore Ts'o's avatar Theodore Ts'o
Browse files

ext4: Fix ext4_free_blocks() w/o a journal when files have indirect blocks



When trying to unlink a file with indirect blocks on a filesystem
without a journal, the "circular indirect block" sanity test was
getting falsely triggered.

Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
parent 08ec8c38
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3622,7 +3622,7 @@ static void ext4_free_data(handle_t *handle, struct inode *inode,
		 * block pointed to itself, it would have been detached when
		 * the block was cleared. Check for this instead of OOPSing.
		 */
		if (bh2jh(this_bh))
		if ((EXT4_JOURNAL(inode) == NULL) || bh2jh(this_bh))
			ext4_handle_dirty_metadata(handle, inode, this_bh);
		else
			ext4_error(inode->i_sb, __func__,