file-restore: strip .img.fidx suffix from drive serials
Drive serials have a character limit of 20, longer names like "drive-virtio0.img.fidx" or "drive-efidisk0.img.fidx" would get cut off. Fix this by removing the suffix, it is not necessary to uniquely identify an image. Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
This commit is contained in:
parent
aac424674c
commit
606828cc65
@ -201,7 +201,8 @@ pub async fn start_vm(
|
||||
));
|
||||
drives.push("-device".to_owned());
|
||||
// drive serial is used by VM to map .fidx files to /dev paths
|
||||
drives.push(format!("virtio-blk-pci,drive=drive{},serial={}", id, file));
|
||||
let serial = file.strip_suffix(".img.fidx").unwrap_or(&file);
|
||||
drives.push(format!("virtio-blk-pci,drive=drive{},serial={}", id, serial));
|
||||
id += 1;
|
||||
}
|
||||
|
||||
|
@ -268,7 +268,11 @@ impl DiskState {
|
||||
_ => bail!("no or invalid image in path"),
|
||||
};
|
||||
|
||||
let buckets = match self.disk_map.get_mut(req_fidx.as_ref()) {
|
||||
let buckets = match self.disk_map.get_mut(
|
||||
req_fidx
|
||||
.strip_suffix(".img.fidx")
|
||||
.unwrap_or_else(|| req_fidx.as_ref()),
|
||||
) {
|
||||
Some(x) => x,
|
||||
None => bail!("given image '{}' not found", req_fidx),
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user