Namjae Jeon <linkinjeon@xxxxxxxxx> writes: > diff --git a/fs/fat/inode.c b/fs/fat/inode.c > index 578a5db..2211489 100644 > --- a/fs/fat/inode.c > +++ b/fs/fat/inode.c > @@ -491,6 +491,13 @@ EXPORT_SYMBOL_GPL(fat_build_inode); > > static void fat_evict_inode(struct inode *inode) > { > + struct super_block *sb = inode->i_sb; > + > + /* Release unwritten fallocated blocks on file release. */ > + if (round_up(inode->i_size, sb->s_blocksize) < > + MSDOS_I(inode)->i_disksize && inode->i_nlink != 0) > + fat_truncate_blocks(inode, inode->i_size); > + > truncate_inode_pages(&inode->i_data, 0); > if (!inode->i_nlink) { > inode->i_size = 0; This would be better to move after truncate_inode_pages(). And as part of "else". if (!inode->i_nlink) { ... } else { /* here */ } And inode->i_size should be ->mmu_private? -- OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html