Skip to content

: Expand xvd to support > 16 devices v2

Chris Lalancette xen-devel 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 0 repliesNew

Changes since v1 from the cover letter

- Fix up the python to use a more pythonic piece of code in main.py (thanks Brendan Cully)
- Re-structure the blkfront code to be much simpler
- Add some additional error checking in the xlvbd_add() path (details in the patch)
- Add a Changelog entry

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5: Fix blkfront to accept expanded devices v2drivers/xen/blkfront/blkfront.c drivers/xen/blkfront/vbd.c+43 -160 replies
2/5: Blktap backend fixes v2drivers/xen/blktap/blktap.c+8 -10 replies
3/5: Extend blktap userland busid to 32-bits v2tools/blktap/drivers/blktapctrl.c tools/blktap/lib/blktaplib.h+2 -20 replies
4/5: python blkdev_name_to_number fixes v2tools/python/xen/util/blkif.py tools/python/xen/xend/server/blkif.py tools/python/xen/xm/main.py+25 -210 replies
5/5: Add Changelog entry to docs/Changelog v2docs/ChangeLog+8 -00 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/5]: Expand xvd to support > 16 devices v2

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.

Changes since v1:
- Fix up the python to use a more pythonic piece of code in main.py (thanks Brendan Cully)
- Re-structure the blkfront code to be much simpler
- Add some additional error checking in the xlvbd_add() path (details in the patch)
- Add a Changelog entry

Chris Lalancette