Split bdevs now can be create using "create_split_bdev". To keep backward compatibility, this call will not fail if base bdev is not available yet instead will add base bdev name to its live configuration and create splits when base bdev will be created (during examin process). Change-Id: Ie26ffc0e947f6d88ff56830dd50999795283df2e Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com> Reviewed-on: https://review.gerrithub.io/404164 Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
128 lines
3.1 KiB
Python
Executable File
128 lines
3.1 KiB
Python
Executable File
def construct_malloc_bdev(client, args):
|
|
num_blocks = (args.total_size * 1024 * 1024) / args.block_size
|
|
params = {'num_blocks': num_blocks, 'block_size': args.block_size}
|
|
if args.name:
|
|
params['name'] = args.name
|
|
if args.uuid:
|
|
params['uuid'] = args.uuid
|
|
return client.call('construct_malloc_bdev', params)
|
|
|
|
|
|
def construct_null_bdev(client, args):
|
|
num_blocks = (args.total_size * 1024 * 1024) / args.block_size
|
|
params = {'name': args.name, 'num_blocks': num_blocks,
|
|
'block_size': args.block_size}
|
|
if args.uuid:
|
|
params['uuid'] = args.uuid
|
|
return client.call('construct_null_bdev', params)
|
|
|
|
|
|
def construct_aio_bdev(client, args):
|
|
params = {'name': args.name,
|
|
'filename': args.filename}
|
|
|
|
if args.block_size:
|
|
params['block_size'] = args.block_size
|
|
|
|
return client.call('construct_aio_bdev', params)
|
|
|
|
|
|
def construct_nvme_bdev(client, args):
|
|
params = {'name': args.name,
|
|
'trtype': args.trtype,
|
|
'traddr': args.traddr}
|
|
|
|
if args.adrfam:
|
|
params['adrfam'] = args.adrfam
|
|
|
|
if args.trsvcid:
|
|
params['trsvcid'] = args.trsvcid
|
|
|
|
if args.subnqn:
|
|
params['subnqn'] = args.subnqn
|
|
|
|
return client.call('construct_nvme_bdev', params)
|
|
|
|
|
|
def construct_rbd_bdev(client, args):
|
|
params = {
|
|
'pool_name': args.pool_name,
|
|
'rbd_name': args.rbd_name,
|
|
'block_size': args.block_size,
|
|
}
|
|
|
|
if args.name:
|
|
params['name'] = args.name
|
|
|
|
return client.call('construct_rbd_bdev', params)
|
|
|
|
|
|
def construct_error_bdev(client, args):
|
|
params = {'base_name': args.base_name}
|
|
return client.call('construct_error_bdev', params)
|
|
|
|
|
|
def construct_pmem_bdev(client, args):
|
|
params = {
|
|
'pmem_file': args.pmem_file,
|
|
'name': args.name
|
|
}
|
|
return client.call('construct_pmem_bdev', params)
|
|
|
|
|
|
def construct_split_vbdev(client, args):
|
|
params = {
|
|
'base_bdev': args.base_bdev,
|
|
'split_count': args.split_count,
|
|
}
|
|
if args.split_size_mb:
|
|
params['split_size_mb'] = args.split_size_mb
|
|
|
|
return client.call('construct_split_vbdev', params)
|
|
|
|
|
|
def destruct_split_vbdev(client, args):
|
|
params = {
|
|
'base_bdev': args.base_bdev,
|
|
}
|
|
|
|
return client.call('destruct_split_vbdev', params)
|
|
|
|
|
|
def get_bdevs(client, args):
|
|
params = {}
|
|
if args.name:
|
|
params['name'] = args.name
|
|
return client.call('get_bdevs', params)
|
|
|
|
|
|
def get_bdevs_config(client, args):
|
|
params = {}
|
|
if args.name:
|
|
params['name'] = args.name
|
|
return client.call('get_bdevs_config', params)
|
|
|
|
|
|
def delete_bdev(client, args):
|
|
params = {'name': args.bdev_name}
|
|
return client.call('delete_bdev', params)
|
|
|
|
|
|
def bdev_inject_error(client, args):
|
|
params = {
|
|
'name': args.name,
|
|
'io_type': args.io_type,
|
|
'error_type': args.error_type,
|
|
'num': args.num,
|
|
}
|
|
|
|
return client.call('bdev_inject_error', params)
|
|
|
|
|
|
def apply_firmware(client, args):
|
|
params = {
|
|
'filename': args.filename,
|
|
'bdev_name': args.bdev_name,
|
|
}
|
|
return client.call('apply_nvme_firmware', params)
|