Commit 1758092c authored by Yankun Li's avatar Yankun Li Committed by Konrad Sztyber
Browse files

scripts/spdkcli.py: add bdevs/compress for spdkcli



Change-Id: I0ea7cd023d28500d4bdf38b9952bc7ce1fd397cf
Signed-off-by: default avatarYankun Li <845245370@qq.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24896


Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Reviewed-by: default avatarGangCao <gang.cao@intel.com>
parent ddd4603c
Loading
Loading
Loading
Loading
+41 −0
Original line number Diff line number Diff line
@@ -81,6 +81,7 @@ class UIBdevs(UINode):
        UIVirtioScsiBdev(self)
        UIRaidBdev(self)
        UIUringBdev(self)
        UICompressBdev(self)


class UILvolStores(UINode):
@@ -873,3 +874,43 @@ class UIUringBdev(UIBdev):
        name - uring bdev name
        """
        self.delete(name)


class UICompressBdev(UIBdev):
    def __init__(self, parent):
        UIBdev.__init__(self, "compress", parent)

    def delete(self, name):
        self.get_root().bdev_compress_delete(name=name)

    def ui_command_create(self, base_bdev_name, pm_path, lb_size=None, comp_algo=None, comp_level=None):
        """
        Construct a compress bdev.

        Arguments:
        base_bdev_name - Name of the base bdev.
        pm_path - Path to persistent memory.
        lb_size - Optional argument. Integer, compressed vol logical block size (optional, if used must be 512 or 4096).
        comp_algo - Optional argument. Compression algorithm, (deflate, lz4). Default is deflate.
        comp_level - Optional argument. Integer, compression algorithm level. if algo == deflate, level ranges from 0 to 3.
                     if algo == lz4, level ranges from 1 to 65537
        """

        lb_size = self.ui_eval_param(lb_size, "number", None)
        comp_level = self.ui_eval_param(comp_level, "number", None)
        ret_name = self.get_root().create_compress_bdev(base_bdev_name=base_bdev_name,
                                                        pm_path=pm_path,
                                                        lb_size=lb_size,
                                                        comp_algo=comp_algo,
                                                        comp_level=comp_level)

        self.shell.log.info(ret_name)

    def ui_command_delete(self, name):
        """
        Deletes compress bdev from configuration.

        Arguments:
        name - Is a unique identifier of the compress bdev to be deleted - UUID number or name alias.
        """
        self.delete(name)
+9 −0
Original line number Diff line number Diff line
@@ -500,6 +500,15 @@ class UIRoot(UINode):
                return True
        return False

    @verbose
    def create_compress_bdev(self, **kwargs):
        response = rpc.bdev.bdev_compress_create(self.client, **kwargs)
        return response

    @verbose
    def bdev_compress_delete(self, **kwargs):
        rpc.bdev.bdev_compress_delete(self.client, **kwargs)


class Bdev(object):
    def __init__(self, bdev_info):
+1 −0
Original line number Diff line number Diff line
o- bdevs ..................................................................................................................... [...]
  o- aio ................................................................................................................ [Bdevs: 0]
  o- compress ........................................................................................................... [Bdevs: 0]
  o- error .............................................................................................................. [Bdevs: 0]
  o- iscsi .............................................................................................................. [Bdevs: 0]
  o- logical_volume ..................................................................................................... [Bdevs: 0]
+1 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ o- / ...........................................................................
  | o- aio .............................................................................................................. [Bdevs: 2]
  | | o- sample0 $(S) [$(UUID), Size=$(FP)M, Not claimed]
  | | o- sample1 $(S) [$(UUID), Size=$(FP)M, Not claimed]
  | o- compress ......................................................................................................... [Bdevs: 0]
  | o- error ............................................................................................................ [Bdevs: 2]
  | | o- EE_Malloc1 $(S) [$(UUID), Size=$(FP)M, Not claimed]
  | | o- EE_Malloc4 $(S) [$(UUID), Size=$(FP)M, Not claimed]
+1 −0
Original line number Diff line number Diff line
o- bdevs ..................................................................................................................... [...]
  o- aio ................................................................................................................ [Bdevs: 0]
  o- compress ........................................................................................................... [Bdevs: 0]
  o- error .............................................................................................................. [Bdevs: 0]
  o- iscsi .............................................................................................................. [Bdevs: 0]
  o- logical_volume ..................................................................................................... [Bdevs: 0]