|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH] remove use of get_gendisk in blkfront
remove use of get_gendisk in blkfront
gen_gendisk is no long exported by 2.6 kernel. this patch remove the
call of get_gendisk by saving the gd point in blkfront_info in vbd.c so
that blkfront can be built as kerenl module.
Signed-off-by: Xiaofeng Ling <xiaofeng.ling@xxxxxxxxx>
diff -r 864434653dab linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c
--- a/linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c
+++ b/linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c
@@ -660,6 +651,7 @@
info->vdevice = vdevice;
info->connected = BLKIF_STATE_DISCONNECTED;
info->mi = NULL;
+ info->gd = NULL;
INIT_WORK(&info->work, blkif_restart_queue, (void *)info);
info->shadow_free = 0;
diff -r 864434653dab linux-2.6-xen-sparse/drivers/xen/blkfront/block.h
--- a/linux-2.6-xen-sparse/drivers/xen/blkfront/block.h
+++ b/linux-2.6-xen-sparse/drivers/xen/blkfront/block.h
@@ -115,6 +115,7 @@
/* We watch the backend */
struct xenbus_watch watch;
dev_t dev;
+ struct gendisk *gd;
int vdevice;
blkif_vdev_t handle;
int connected;
diff -r 864434653dab linux-2.6-xen-sparse/drivers/xen/blkfront/vbd.c
--- a/linux-2.6-xen-sparse/drivers/xen/blkfront/vbd.c
+++ b/linux-2.6-xen-sparse/drivers/xen/blkfront/vbd.c
@@ -266,6 +257,7 @@
gd->flags |= GENHD_FL_CD;
add_disk(gd);
+ info->gd = gd;
return 0;
@@ -298,23 +290,19 @@
void
xlvbd_del(struct blkfront_info *info)
{
- struct block_device *bd;
struct gendisk *gd;
int unused;
request_queue_t *rq;
- bd = bdget(info->dev);
- if (bd == NULL)
+ gd = info->gd;
+ if (gd == NULL)
return;
- gd = get_gendisk(info->dev, &unused);
rq = gd->queue;
-
del_gendisk(gd);
put_disk(gd);
xlbd_put_major_info(info->mi);
info->mi = NULL;
blk_cleanup_queue(rq);
- bdput(bd);
-}
+}
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] [PATCH] remove use of get_gendisk in blkfront,
Xiaofeng Ling <=
|
|
|
|
|