ext4: drop inode from orphan list if ext4_delete_inode() fails

There were some error paths in ext4_delete_inode() which was not
dropping the inode from the orphan list.  This could lead to a BUG_ON
on umount when the orphan list is discovered to be non-empty.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
Theodore Ts'o 2010-07-29 15:06:10 -04:00
parent f613dfcb33
commit 4538821993

View file

@ -221,6 +221,7 @@ void ext4_delete_inode(struct inode *inode)
"couldn't extend journal (err %d)", err); "couldn't extend journal (err %d)", err);
stop_handle: stop_handle:
ext4_journal_stop(handle); ext4_journal_stop(handle);
ext4_orphan_del(NULL, inode);
goto no_delete; goto no_delete;
} }
} }