[Kimchi-devel] [PATCH] bug fix: Allow extend a logical pool

Royce Lv lvroyce at linux.vnet.ibm.com
Wed Mar 5 06:32:12 UTC 2014


This is because blkid just retrieve a labelled block device while lsblk 
can identify all block devices, right?

Reviewed-by: Royce Lv<lvroyce at linux.vnet.ibm.com>

Minor suggestion for naming below.

On 2014年03月05日 05:09, Aline Manera wrote:
> From: Aline Manera <alinefm at br.ibm.com>
>
> While trying to extend a logical pool I got the following error message:
>
> "/dev/vdb is not a valid disk/partition. Could not add it to the pool
> my-logical-pool"
>
> But the same partition "/dev/vdb" is listed on GET /host/partitions.
> Then I realized the "blkid" is not the correct command to check a
> partition exists for raw disks.
>
>  From blkid man page:
> It can determine the type of content (e.g. filesystem or swap) that a block
> device holds,  and  also  attributes  (tokens, NAME=value pairs) from the
> content metadata (e.g. LABEL or UUID fields).
>
> Which is not useful for a raw disk.
>
>  From lsblk man page:
> lsblk  lists  information  about  all  or  the specified block devices.
>
> So use "lsblk" command instead of "blkid" to verify the disk exists in
> the system.
>
> Signed-off-by: Aline Manera <alinefm at br.ibm.com>
> ---
>   src/kimchi/model/storagepools.py |    3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/kimchi/model/storagepools.py b/src/kimchi/model/storagepools.py
> index 76ab2d6..d012ca9 100644
> --- a/src/kimchi/model/storagepools.py
> +++ b/src/kimchi/model/storagepools.py
> @@ -254,7 +254,7 @@ class StoragePoolModel(object):
>       def _update_lvm_disks(self, pool_name, disks):
>           # check if all the disks/partitions exists in the host
>           for disk in disks:
> -            blkid_cmd = ['blkid', disk]
> +            blkid_cmd = ['lsblk', disk]
"blkid_cmd" variable name need to be changed because it refer to "lsblk" 
cmd.
>               output, error, returncode = run_command(blkid_cmd)
>               if returncode != 0:
>                   kimchi_log.error('%s is not a valid disk/partition. Could not '
> @@ -281,6 +281,7 @@ class StoragePoolModel(object):
>                   pool.setAutostart(1)
>               else:
>                   pool.setAutostart(0)
> +
>           if 'disks' in params:
>               # check if pool is type 'logical'
>               xml = pool.XMLDesc(0)




More information about the Kimchi-devel mailing list