2012-06-11 20:49:31 +00:00
|
|
|
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
|
|
|
|
index 4e86393..34493d7 100644
|
|
|
|
--- a/drivers/block/xen-blkfront.c
|
|
|
|
+++ b/drivers/block/xen-blkfront.c
|
2016-01-04 11:54:07 +00:00
|
|
|
@@ -1188,6 +1188,7 @@ static void blkfront_connect(struct blkfront_info *info)
|
2013-09-20 03:31:38 +00:00
|
|
|
unsigned int physical_sector_size;
|
2012-06-11 20:49:31 +00:00
|
|
|
unsigned int binfo;
|
2016-11-11 13:28:22 +00:00
|
|
|
int err, i;
|
2016-01-04 11:54:07 +00:00
|
|
|
+ int removable;
|
2012-06-11 20:49:31 +00:00
|
|
|
|
|
|
|
switch (info->connected) {
|
|
|
|
case BLKIF_STATE_CONNECTED:
|
|
|
|
@@ -1266,6 +1266,12 @@ static void blkfront_connect(struct blkfront_info *info)
|
2016-11-11 13:28:22 +00:00
|
|
|
}
|
2016-01-04 11:54:07 +00:00
|
|
|
}
|
2012-06-11 20:49:31 +00:00
|
|
|
|
|
|
|
+ err = xenbus_gather(XBT_NIL, info->xbdev->otherend,
|
|
|
|
+ "removable", "%d", &removable,
|
|
|
|
+ NULL);
|
|
|
|
+ if (!err && removable)
|
|
|
|
+ binfo |= VDISK_REMOVABLE;
|
|
|
|
+
|
2016-01-04 11:54:07 +00:00
|
|
|
err = xlvbd_alloc_gendisk(sectors, info, binfo, sector_size,
|
|
|
|
physical_sector_size);
|
|
|
|
if (err) {
|