Skip to content

: Expand xvd to support > 16 devices

Chris Lalancette xen-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 5 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4: Fix blkfront to accept expanded devicesdrivers/xen/blkfront/blkfront.c drivers/xen/blkfront/vbd.c+47 -200 replies
2/4: Blktap backend fixesdrivers/xen/blktap/blktap.c+8 -10 replies
3/4: Extend blktap userland busid to 32-bitstools/blktap/drivers/blktapctrl.c tools/blktap/lib/blktaplib.h+2 -20 replies
4/4: python blkdev_name_to_number fixestools/python/xen/util/blkif.py tools/python/xen/xend/XendConfig.py tools/python/xen/xend/server/blkif.py +1 more+29 -212 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/4]: Expand xvd to support > 16 devices

All,

     Current blktap and blkfront are limited to 16 xvd devices (xvda -> xvdp).

This is enforced in the userland dom0 tools, but is also hard-coded into the blkfront kernel code (even though modern dev_t can hold many more than 256 minors). Based on the discussion that we had here:

http://lists.xensource.com/archives/html/xen-devel/2008-05/msg00128.html

I ended up implementing Ian Jackson's suggestion here:

http://lists.xensource.com/archives/html/xen-devel/2008-05/msg00231.html

Basically, I left the old format alone, but added a new format that looks like:

1 << 28 | disk << 8 | partition xvd, disks or partitions 16 onwards

This format is used for any disks xvdq onward. Note that blktap has a hardcoded limit of 100 devices that I did not change with this patch series; if that ends up being a problem, then that's just a simple #define to change.

I did not expand the number of partitions available (it's still 15), although there is space in the allocation to do that if someone wishes. More details are in each individual patch.

Note that I developed this against RHEL-5 kernels and ported it over to xen-unstable, and only compile tested it there.

Chris Lalancette