diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 183ae3447f6..3d4fb81bacd 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -2220,7 +2220,9 @@ static void ext4_orphan_cleanup(struct super_block *sb, __func__, inode->i_ino, inode->i_size); jbd_debug(2, "truncating inode %lu to %lld bytes\n", inode->i_ino, inode->i_size); + mutex_lock(&inode->i_mutex); ext4_truncate(inode); + mutex_unlock(&inode->i_mutex); nr_truncates++; } else { ext4_msg(sb, KERN_DEBUG,