• Jan Kara's avatar
    ext3: Fix lost extented attributes for inode with ino == 11 · beb37b85
    Jan Kara authored
    If a filesystem has inode size > 128 and someone deletes lost+found and
    reuses inode 11 for some other file, extented attributes set for this
    inode before umount will get lost after remounting the filesystem. This
    is because extended attributes will get stored in an inode but ext3_iget
    will ignore them due to workaround of a bug in an old mkfs.
    
    Fix the problem by initializing i_extra_isize to 0 for freshly allocated
    inodes where mkfs workaround in ext3_iget applies. This way these inodes
    will always store extended attributes in a special block and no problems
    occur.
    
    The bug was spotted and a reproduction test provided by:
      Masayoshi MIZUMA <m.mizuma@jp.fujitsu.com>
    Reviewed-by: default avatarAndreas Dilger <adilger.kernel@dilger.ca>
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    beb37b85
ialloc.c 20.8 KB