start_delalloc_inodes has a struct inode * pointer available in the
main loop, use it instead of re-calculating it from the btrfs inode.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
                if (snapshot)
                        set_bit(BTRFS_INODE_SNAPSHOT_FLUSH, &inode->runtime_flags);
                if (full_flush) {
-                       work = btrfs_alloc_delalloc_work(&inode->vfs_inode);
+                       work = btrfs_alloc_delalloc_work(tmp_inode);
                        if (!work) {
-                               iput(&inode->vfs_inode);
+                               iput(tmp_inode);
                                ret = -ENOMEM;
                                goto out;
                        }
                        btrfs_queue_work(root->fs_info->flush_workers,
                                         &work->work);
                } else {
-                       ret = filemap_fdatawrite_wbc(inode->vfs_inode.i_mapping, wbc);
+                       ret = filemap_fdatawrite_wbc(tmp_inode->i_mapping, wbc);
                        btrfs_add_delayed_iput(inode);
                        if (ret || wbc->nr_to_write <= 0)
                                goto out;