On Fri 13-08-21 11:26:45, Theodore Ts'o wrote: > On Fri, Aug 13, 2021 at 02:34:34PM +0200, Jan Kara wrote: > > Actually, in the orphan list code, we leave the inode in the on-disk list > > but remove it from the in-memory list - see how > > list_del_init(&ei->i_orphan) is called very early in ext4_orphan_del(). The > > reason for this unconditional deletion is that if we do not remove the > > inode from the in-memory orphan list, the filesystem will complain and > > corrupt memory on unmount. > > > > Also note that leaving inode in the on-disk orphan list actually does no > > serious harm. Because the orphan cleanup code just checks i_nlink and > > i_disksize and truncates inode down to current i_disksize and removes inode > > completely if i_nlink is 0. So even if an inode on the orphan list gets > > reused, orphan cleanup will just do nothing for it. So the worst problem > > that will likely happen is that on-disk orphan linked list becomes > > corrupted but there's no data loss AFAICT. > > > > Is it clearer now or am I missing something? > > Yes, you're right, I misread the code. Thanks for clarifying. > > Can you send the final spin of this patch set? I think we're all set > for this patch series. > > Reviewed-by: Theodore Ts'o <tytso@xxxxxxx> Thanks. I've posted v6 with all the updates. Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR