Re: [PATCH 4/4] virtio_blk: use disk_name_format() to support mass of disks naming

2 messages, 2 authors, 2012-03-31 · open the first message on its own page

Re: [PATCH 4/4] virtio_blk: use disk_name_format() to support mass of disks naming

From: Asias He <hidden>
Date: 2012-03-30 11:23:29

Hi,  Ren

On Fri, Mar 30, 2012 at 5:53 PM, Ren Mingxin [off-list ref] wrote:
 The current virtblk's naming algorithm only supports 263  disks.
If there are mass of virtblks(exceeding 263), there will be disks
with the same name.
This fix is pretty nice. However, current virtblk's naming still
supports up to 18278 disks, no?
( index 0  -> vda, index 18277 -> vdzzz ).
quoted hunk
By renaming "sd_format_disk_name()" to "disk_name_format()"
and moving it into block core, virtio_blk can use this function to
support mass of disks.

Signed-off-by: Ren Mingxin <redacted>
---
 virtio_blk.c |   13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index c4a60ba..54612c2 100644
--- a/drivers/block/virtio_blk.c
+++ b/drivers/block/virtio_blk.c
@@ -442,18 +442,7 @@ static int __devinit virtblk_probe(struct virtio_device
*vdev)

       q->queuedata = vblk;

-       if (index < 26) {
-               sprintf(vblk->disk->disk_name, "vd%c", 'a' + index % 26);
-       } else if (index < (26 + 1) * 26) {
-               sprintf(vblk->disk->disk_name, "vd%c%c",
-                       'a' + index / 26 - 1, 'a' + index % 26);
-       } else {
-               const unsigned int m1 = (index / 26 - 1) / 26 - 1;
-               const unsigned int m2 = (index / 26 - 1) % 26;
-               const unsigned int m3 =  index % 26;
-               sprintf(vblk->disk->disk_name, "vd%c%c%c",
-                       'a' + m1, 'a' + m2, 'a' + m3);
-       }
+       disk_name_format("vd", index, vblk->disk->disk_name, DISK_NAME_LEN);

       vblk->disk->major = major;
       vblk->disk->first_minor = index_to_minor(index);

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


-- 
Asias He
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Re: [PATCH 4/4] virtio_blk: use disk_name_format() to support mass of disks naming

From: Ren Mingxin <hidden>
Date: 2012-03-31 01:14:26

 Hi, He:

On 03/30/2012 07:22 PM, Asias He wrote:
On Fri, Mar 30, 2012 at 5:53 PM, Ren Mingxin[off-list ref]  wrote:
quoted
  The current virtblk's naming algorithm only supports 263  disks.
If there are mass of virtblks(exceeding 263), there will be disks
with the same name.
This fix is pretty nice. However, current virtblk's naming still
supports up to 18278 disks, no?
( index 0  ->  vda, index 18277 ->  vdzzz ).
Sorry, I intended to type 26^3+ (26^2+26)...
It may still be a restriction which should be improved though.

Thanks,
Ren
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help