Improve compatibility between librbd + krbd for the data pool
The data pool feature results in a larger block name prefix. krbd uses fixed-sized data structures that will not currently hold this larger block name prefix. Need to (1) encode the pool id in hex to reduce bytes, (2) determine a new maximum block name prefix length, (3) ensure new images do not violate this new limit.
#1 Updated by Ilya Dryomov over 3 years ago
It's just that krbd tries to avoid excessive memory allocations by packing things together. krbd can handle larger block name prefixes just fine as it has always been assumed to be an arbitrary string, so it's not really a compatibility issue -- just wanted to get some clarity on this given that generate_image_id() doesn't account for the metadata pool id in the data-pool case.