Merge branch 'for-jens/xen-blkback.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-linus

This commit is contained in:
Jens Axboe 2011-06-02 13:14:15 +02:00
commit e3a57b3ccf
2 changed files with 7 additions and 6 deletions

View File

@ -809,11 +809,13 @@ static int __init xen_blkif_init(void)
failed_init: failed_init:
kfree(blkbk->pending_reqs); kfree(blkbk->pending_reqs);
kfree(blkbk->pending_grant_handles); kfree(blkbk->pending_grant_handles);
for (i = 0; i < mmap_pages; i++) { if (blkbk->pending_pages) {
if (blkbk->pending_pages[i]) for (i = 0; i < mmap_pages; i++) {
__free_page(blkbk->pending_pages[i]); if (blkbk->pending_pages[i])
__free_page(blkbk->pending_pages[i]);
}
kfree(blkbk->pending_pages);
} }
kfree(blkbk->pending_pages);
kfree(blkbk); kfree(blkbk);
blkbk = NULL; blkbk = NULL;
return rc; return rc;

View File

@ -357,14 +357,13 @@ static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
} }
vbd->bdev = bdev; vbd->bdev = bdev;
vbd->size = vbd_sz(vbd);
if (vbd->bdev->bd_disk == NULL) { if (vbd->bdev->bd_disk == NULL) {
DPRINTK("xen_vbd_create: device %08x doesn't exist.\n", DPRINTK("xen_vbd_create: device %08x doesn't exist.\n",
vbd->pdevice); vbd->pdevice);
xen_vbd_free(vbd); xen_vbd_free(vbd);
return -ENOENT; return -ENOENT;
} }
vbd->size = vbd_sz(vbd);
if (vbd->bdev->bd_disk->flags & GENHD_FL_CD || cdrom) if (vbd->bdev->bd_disk->flags & GENHD_FL_CD || cdrom)
vbd->type |= VDISK_CDROM; vbd->type |= VDISK_CDROM;