fs: protect inode->i_state with inode->i_lock
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / fs / block_dev.c
index 889287019599a861d90a51d6808cfb2d032fc255..bc39b18cf3d07a49af4c1e46b140f3b8a2ddd158 100644 (file)
@@ -56,9 +56,11 @@ static void bdev_inode_switch_bdi(struct inode *inode,
                        struct backing_dev_info *dst)
 {
        spin_lock(&inode_lock);
+       spin_lock(&inode->i_lock);
        inode->i_data.backing_dev_info = dst;
        if (inode->i_state & I_DIRTY)
                list_move(&inode->i_wb_list, &dst->wb.b_dirty);
+       spin_unlock(&inode->i_lock);
        spin_unlock(&inode_lock);
 }