]> xenbits.xensource.com Git - legacy/linux-2.6.18-xen.git/commitdiff
blkback: Flush blkback data when connecting.
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 21 Jan 2010 14:39:05 +0000 (14:39 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 21 Jan 2010 14:39:05 +0000 (14:39 +0000)
First cut at flushing blkback data when first connecting
blkback.  This should avoid the pygrub issues we are experiencing
in (RedHat bugzilla) 466681.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
drivers/xen/blkback/xenbus.c

index 6a5669e9292b60e1d2fa1de7a6db9153010e9329..82fa267c616d09df66f6798f16f2f36729ef82ad 100644 (file)
@@ -88,6 +88,13 @@ static void update_blkif_status(blkif_t *blkif)
                return;
        }
 
+       err = filemap_write_and_wait(blkif->vbd.bdev->bd_inode->i_mapping);
+       if (err) {
+               xenbus_dev_error(blkif->be->dev, err, "block flush");
+               return;
+       }
+       invalidate_inode_pages2(blkif->vbd.bdev->bd_inode->i_mapping);
+
        blkif->xenblkd = kthread_run(blkif_schedule, blkif, name);
        if (IS_ERR(blkif->xenblkd)) {
                err = PTR_ERR(blkif->xenblkd);