From d54142c71f05b608b7360d80bdab74eed0f17a98 Mon Sep 17 00:00:00 2001 From: Daniel Stodden Date: Sat, 7 Aug 2010 18:51:21 +0200 Subject: [PATCH] blkfront: Klog the unclean release path Signed-off-by: Daniel Stodden Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe --- drivers/block/xen-blkfront.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index b01167b6207a..c6727b5cefd6 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c @@ -1120,6 +1120,10 @@ static int blkfront_remove(struct xenbus_device *xbdev) mutex_lock(&bdev->bd_mutex); info = disk->private_data; + dev_warn(disk_to_dev(disk), + "%s was hot-unplugged, %d stale handles\n", + xbdev->nodename, bdev->bd_openers); + if (info && !bdev->bd_openers) { xlvbd_release_gendisk(info); disk->private_data = NULL; @@ -1191,6 +1195,7 @@ static int blkif_release(struct gendisk *disk, fmode_t mode) if (xbdev && xbdev->state == XenbusStateClosing) { /* pending switch to state closed */ + dev_info(disk_to_dev(bdev->bd_disk), "releasing disk\n"); xlvbd_release_gendisk(info); xenbus_frontend_closed(info->xbdev); } @@ -1199,6 +1204,7 @@ static int blkif_release(struct gendisk *disk, fmode_t mode) if (!xbdev) { /* sudden device removal */ + dev_info(disk_to_dev(bdev->bd_disk), "releasing disk\n"); xlvbd_release_gendisk(info); disk->private_data = NULL; kfree(info);