[pbs-devel] [PATCH proxmox-backup v10 05/26] disks: add UUID to partition info

Max Carrara m.carrara at proxmox.com
Fri May 3 13:34:08 CEST 2024


On Thu Apr 25, 2024 at 8:52 AM CEST, Hannes Laimer wrote:
> Signed-off-by: Hannes Laimer <h.laimer at proxmox.com>
> ---
>  src/tools/disks/mod.rs | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/src/tools/disks/mod.rs b/src/tools/disks/mod.rs
> index 303fe4f1..6227948d 100644
> --- a/src/tools/disks/mod.rs
> +++ b/src/tools/disks/mod.rs
> @@ -59,6 +59,8 @@ pub struct LsblkInfo {
>      /// File system label.
>      #[serde(rename = "fstype")]
>      file_system_type: Option<String>,
> +    /// File system UUID.
> +    uuid: Option<String>,

Maybe use `proxmox_uuid` here as well.

>  }
>  
>  impl DiskManage {
> @@ -617,7 +619,7 @@ pub struct BlockDevStat {
>  /// Use lsblk to read partition type uuids and file system types.
>  pub fn get_lsblk_info() -> Result<Vec<LsblkInfo>, Error> {
>      let mut command = std::process::Command::new("lsblk");
> -    command.args(["--json", "-o", "path,parttype,fstype"]);
> +    command.args(["--json", "-o", "path,parttype,fstype,uuid"]);
>  
>      let output = proxmox_sys::command::run_command(command, None)?;
>  
> @@ -701,6 +703,8 @@ pub struct PartitionInfo {
>      pub size: Option<u64>,
>      /// GPT partition
>      pub gpt: bool,
> +    /// UUID
> +    pub uuid: Option<String>,

.. and here too.

>  }
>  
>  #[api(
> @@ -891,8 +895,10 @@ fn get_partitions_info(
>  
>              let mounted = disk.is_mounted().unwrap_or(false);
>              let mut filesystem = None;
> +            let mut uuid = None;
>              if let (Some(devpath), Some(infos)) = (devpath.as_ref(), lsblk_infos.as_ref()) {
>                  for info in infos.iter().filter(|i| i.path.eq(devpath)) {
> +                    uuid = info.uuid.clone();
>                      used = match info.partition_type.as_deref() {
>                          Some("21686148-6449-6e6f-744e-656564454649") => PartitionUsageType::BIOS,
>                          Some("c12a7328-f81f-11d2-ba4b-00a0c93ec93b") => PartitionUsageType::EFI,
> @@ -915,6 +921,7 @@ fn get_partitions_info(
>                  filesystem,
>                  size: disk.size().ok(),
>                  gpt: disk.has_gpt(),
> +                uuid,
>              }
>          })
>          .collect()





More information about the pbs-devel mailing list