rpc/bdev: construct RPC return a string instead array

Construct calls that create single new bdev,
now return a string instead of array with single element.

Change-Id: Iad841b8e5eab0265693efb6be472354ea616c562
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/416081
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Tomasz Zawadzki 2018-06-21 06:46:59 -04:00 committed by Jim Harris
parent 356b68a7c1
commit 160850f0a6
12 changed files with 77 additions and 94 deletions

View File

@ -87,9 +87,7 @@ spdk_rpc_construct_aio_bdev(struct spdk_jsonrpc_request *request,
return;
}
spdk_json_write_array_begin(w);
spdk_json_write_string(w, spdk_bdev_get_name(bdev));
spdk_json_write_array_end(w);
spdk_jsonrpc_end_result(request, w);
return;

View File

@ -76,9 +76,7 @@ construct_iscsi_bdev_cb(void *cb_arg, struct spdk_bdev *bdev, int status)
return;
}
spdk_json_write_array_begin(w);
spdk_json_write_string(w, spdk_bdev_get_name(bdev));
spdk_json_write_array_end(w);
spdk_jsonrpc_end_result(request, w);
}
}

View File

@ -107,9 +107,7 @@ _spdk_rpc_lvol_store_construct_cb(void *cb_arg, struct spdk_lvol_store *lvol_sto
return;
}
spdk_json_write_array_begin(w);
spdk_json_write_string(w, lvol_store_uuid);
spdk_json_write_array_end(w);
spdk_jsonrpc_end_result(request, w);
return;
@ -358,9 +356,7 @@ _spdk_rpc_construct_lvol_bdev_cb(void *cb_arg, struct spdk_lvol *lvol, int lvole
return;
}
spdk_json_write_array_begin(w);
spdk_json_write_string(w, lvol->bdev->name);
spdk_json_write_array_end(w);
spdk_jsonrpc_end_result(request, w);
return;
@ -447,9 +443,7 @@ _spdk_rpc_snapshot_lvol_bdev_cb(void *cb_arg, struct spdk_lvol *lvol, int lvoler
return;
}
spdk_json_write_array_begin(w);
spdk_json_write_string(w, lvol->bdev->name);
spdk_json_write_array_end(w);
spdk_jsonrpc_end_result(request, w);
return;
@ -535,9 +529,7 @@ _spdk_rpc_clone_lvol_bdev_cb(void *cb_arg, struct spdk_lvol *lvol, int lvolerrno
return;
}
spdk_json_write_array_begin(w);
spdk_json_write_string(w, lvol->bdev->name);
spdk_json_write_array_end(w);
spdk_jsonrpc_end_result(request, w);
return;

View File

@ -95,9 +95,7 @@ spdk_rpc_construct_malloc_bdev(struct spdk_jsonrpc_request *request,
return;
}
spdk_json_write_array_begin(w);
spdk_json_write_string(w, spdk_bdev_get_name(bdev));
spdk_json_write_array_end(w);
spdk_jsonrpc_end_result(request, w);
return;

View File

@ -95,9 +95,7 @@ spdk_rpc_construct_null_bdev(struct spdk_jsonrpc_request *request,
return;
}
spdk_json_write_array_begin(w);
spdk_json_write_string(w, bdev->name);
spdk_json_write_array_end(w);
spdk_jsonrpc_end_result(request, w);
free_rpc_construct_null(&req);
return;

View File

@ -86,9 +86,7 @@ spdk_rpc_construct_passthru_bdev(struct spdk_jsonrpc_request *request,
return;
}
spdk_json_write_array_begin(w);
spdk_json_write_string(w, req.passthru_bdev_name);
spdk_json_write_array_end(w);
spdk_jsonrpc_end_result(request, w);
free_rpc_construct_passthru(&req);
return;

View File

@ -86,9 +86,7 @@ spdk_rpc_construct_pmem_bdev(struct spdk_jsonrpc_request *request,
return;
}
spdk_json_write_array_begin(w);
spdk_json_write_string(w, spdk_bdev_get_name(bdev));
spdk_json_write_array_end(w);
spdk_jsonrpc_end_result(request, w);
free_rpc_construct_pmem_bdev(&req);

View File

@ -86,9 +86,7 @@ spdk_rpc_construct_rbd_bdev(struct spdk_jsonrpc_request *request,
return;
}
spdk_json_write_array_begin(w);
spdk_json_write_string(w, spdk_bdev_get_name(bdev));
spdk_json_write_array_end(w);
spdk_jsonrpc_end_result(request, w);
return;

View File

@ -348,9 +348,7 @@ spdk_rpc_create_virtio_user_blk_bdev(struct spdk_jsonrpc_request *request,
return;
}
spdk_json_write_array_begin(w);
spdk_json_write_string(w, spdk_bdev_get_name(bdev));
spdk_json_write_array_end(w);
spdk_jsonrpc_end_result(request, w);
return;
@ -405,9 +403,7 @@ spdk_rpc_create_virtio_pci_blk_bdev(struct spdk_jsonrpc_request *request,
return;
}
spdk_json_write_array_begin(w);
spdk_json_write_string(w, spdk_bdev_get_name(bdev));
spdk_json_write_array_end(w);
spdk_jsonrpc_end_result(request, w);
return;

View File

@ -124,11 +124,11 @@ if __name__ == "__main__":
@call_cmd
def construct_malloc_bdev(args):
num_blocks = (args.total_size * 1024 * 1024) // args.block_size
print_array(rpc.bdev.construct_malloc_bdev(args.client,
num_blocks=num_blocks,
block_size=args.block_size,
name=args.name,
uuid=args.uuid))
print(rpc.bdev.construct_malloc_bdev(args.client,
num_blocks=num_blocks,
block_size=args.block_size,
name=args.name,
uuid=args.uuid))
p = subparsers.add_parser('construct_malloc_bdev',
help='Add a bdev with malloc backend')
@ -151,11 +151,11 @@ if __name__ == "__main__":
@call_cmd
def construct_null_bdev(args):
num_blocks = (args.total_size * 1024 * 1024) // args.block_size
print_array(rpc.bdev.construct_null_bdev(args.client,
num_blocks=num_blocks,
block_size=args.block_size,
name=args.name,
uuid=args.uuid))
print(rpc.bdev.construct_null_bdev(args.client,
num_blocks=num_blocks,
block_size=args.block_size,
name=args.name,
uuid=args.uuid))
p = subparsers.add_parser('construct_null_bdev',
help='Add a bdev with null backend')
@ -168,10 +168,10 @@ if __name__ == "__main__":
@call_cmd
def construct_aio_bdev(args):
print_array(rpc.bdev.construct_aio_bdev(args.client,
filename=args.filename,
name=args.name,
block_size=args.block_size))
print(rpc.bdev.construct_aio_bdev(args.client,
filename=args.filename,
name=args.name,
block_size=args.block_size))
p = subparsers.add_parser('construct_aio_bdev',
help='Add a bdev with aio backend')
@ -215,11 +215,11 @@ if __name__ == "__main__":
@call_cmd
def construct_rbd_bdev(args):
print_array(rpc.bdev.construct_rbd_bdev(args.client,
name=args.name,
pool_name=args.pool_name,
rbd_name=args.rbd_name,
block_size=args.block_size))
print(rpc.bdev.construct_rbd_bdev(args.client,
name=args.name,
pool_name=args.pool_name,
rbd_name=args.rbd_name,
block_size=args.block_size))
p = subparsers.add_parser('construct_rbd_bdev',
help='Add a bdev with ceph rbd backend')
@ -231,8 +231,8 @@ if __name__ == "__main__":
@call_cmd
def construct_error_bdev(args):
rpc.bdev.construct_error_bdev(args.client,
base_name=args.base_name)
print(rpc.bdev.construct_error_bdev(args.client,
base_name=args.base_name))
p = subparsers.add_parser('construct_error_bdev',
help='Add bdev with error injection backend')
@ -250,10 +250,10 @@ if __name__ == "__main__":
@call_cmd
def construct_iscsi_bdev(args):
rpc.bdev.construct_iscsi_bdev(args.client,
name=args.name,
url=args.url,
initiator_iqn=args.initiator_iqn)
print(rpc.bdev.construct_iscsi_bdev(args.client,
name=args.name,
url=args.url,
initiator_iqn=args.initiator_iqn))
p = subparsers.add_parser('construct_iscsi_bdev',
help='Add bdev with iSCSI initiator backend')
@ -273,9 +273,9 @@ if __name__ == "__main__":
@call_cmd
def construct_pmem_bdev(args):
print_array(rpc.bdev.construct_pmem_bdev(args.client,
pmem_file=args.pmem_file,
name=args.name))
print(rpc.bdev.construct_pmem_bdev(args.client,
pmem_file=args.pmem_file,
name=args.name))
p = subparsers.add_parser('construct_pmem_bdev', help='Add a bdev with pmem backend')
p.add_argument('pmem_file', help='Path to pmemblk pool file')
@ -284,9 +284,9 @@ if __name__ == "__main__":
@call_cmd
def construct_passthru_bdev(args):
print_array(rpc.bdev.construct_passthru_bdev(args.client,
base_bdev_name=args.base_bdev_name,
passthru_bdev_name=args.passthru_bdev_name))
print(rpc.bdev.construct_passthru_bdev(args.client,
base_bdev_name=args.base_bdev_name,
passthru_bdev_name=args.passthru_bdev_name))
p = subparsers.add_parser('construct_passthru_bdev',
help='Add a pass through bdev on existing bdev')
@ -659,10 +659,10 @@ if __name__ == "__main__":
# lvol
@call_cmd
def construct_lvol_store(args):
print_array(rpc.lvol.construct_lvol_store(args.client,
bdev_name=args.bdev_name,
lvs_name=args.lvs_name,
cluster_sz=args.cluster_sz))
print(rpc.lvol.construct_lvol_store(args.client,
bdev_name=args.bdev_name,
lvs_name=args.lvs_name,
cluster_sz=args.cluster_sz))
p = subparsers.add_parser('construct_lvol_store', help='Add logical volume store on base bdev')
p.add_argument('bdev_name', help='base bdev name')
@ -683,12 +683,12 @@ if __name__ == "__main__":
@call_cmd
def construct_lvol_bdev(args):
print_array(rpc.lvol.construct_lvol_bdev(args.client,
lvol_name=args.lvol_name,
size=args.size * 1024 * 1024,
thin_provision=args.thin_provision,
uuid=args.uuid,
lvs_name=args.lvs_name))
print(rpc.lvol.construct_lvol_bdev(args.client,
lvol_name=args.lvol_name,
size=args.size * 1024 * 1024,
thin_provision=args.thin_provision,
uuid=args.uuid,
lvs_name=args.lvs_name))
p = subparsers.add_parser('construct_lvol_bdev', help='Add a bdev with an logical volume backend')
p.add_argument('-u', '--uuid', help='lvol store UUID', required=False)
@ -700,9 +700,9 @@ if __name__ == "__main__":
@call_cmd
def snapshot_lvol_bdev(args):
rpc.lvol.snapshot_lvol_bdev(args.client,
lvol_name=args.lvol_name,
snapshot_name=args.snapshot_name)
print(rpc.lvol.snapshot_lvol_bdev(args.client,
lvol_name=args.lvol_name,
snapshot_name=args.snapshot_name))
p = subparsers.add_parser('snapshot_lvol_bdev', help='Create a snapshot of an lvol bdev')
p.add_argument('lvol_name', help='lvol bdev name')
@ -711,9 +711,9 @@ if __name__ == "__main__":
@call_cmd
def clone_lvol_bdev(args):
rpc.lvol.clone_lvol_bdev(args.client,
snapshot_name=args.snapshot_name,
clone_name=args.clone_name)
print(rpc.lvol.clone_lvol_bdev(args.client,
snapshot_name=args.snapshot_name,
clone_name=args.clone_name))
p = subparsers.add_parser('clone_lvol_bdev', help='Create a clone of an lvol snapshot')
p.add_argument('snapshot_name', help='lvol snapshot name')
@ -794,10 +794,10 @@ if __name__ == "__main__":
# split
@call_cmd
def construct_split_vbdev(args):
print_dict(rpc.bdev.construct_split_vbdev(args.client,
base_bdev=args.base_bdev,
split_count=args.split_count,
split_size_mb=args.split_size_mb))
print_array(rpc.bdev.construct_split_vbdev(args.client,
base_bdev=args.base_bdev,
split_count=args.split_count,
split_size_mb=args.split_size_mb))
p = subparsers.add_parser('construct_split_vbdev', help="""Add given disk name to split config. If bdev with base_name
name exist the split bdevs will be created right away, if not split bdevs will be created when base bdev became
@ -1312,11 +1312,11 @@ if __name__ == "__main__":
@call_cmd
def construct_virtio_user_blk_bdev(args):
print_dict(rpc.vhost.construct_virtio_user_blk_bdev(args.client,
path=args.path,
name=args.name,
vq_count=args.vq_count,
vq_size=args.vq_size))
print(rpc.vhost.construct_virtio_user_blk_bdev(args.client,
path=args.path,
name=args.name,
vq_count=args.vq_count,
vq_size=args.vq_size))
p = subparsers.add_parser('construct_virtio_user_blk_bdev', help='Connect to a virtio user blk device.')
p.add_argument('path', help='Path to Virtio BLK socket')
@ -1327,9 +1327,9 @@ if __name__ == "__main__":
@call_cmd
def construct_virtio_pci_blk_bdev(args):
print_dict(rpc.vhost.construct_virtio_pci_blk_bdev(args.client,
pci_address=args.pci_address,
name=args.name))
print(rpc.vhost.construct_virtio_pci_blk_bdev(args.client,
pci_address=args.pci_address,
name=args.name))
p = subparsers.add_parser('construct_virtio_pci_blk_bdev', help='Create a Virtio Blk device from a virtio-pci device.')
p.add_argument('pci_address', help="""PCI address in domain:bus:device.function format or

View File

@ -25,7 +25,7 @@ def construct_malloc_bdev(client, num_blocks, block_size, name=None, uuid=None):
uuid: UUID of block device (optional)
Returns:
List of created block devices.
Name of created block device.
"""
params = {'num_blocks': num_blocks, 'block_size': block_size}
if name:
@ -55,7 +55,7 @@ def construct_null_bdev(client, num_blocks, block_size, name, uuid=None):
uuid: UUID of block device (optional)
Returns:
List of created block devices.
Name of created block device.
"""
params = {'name': name, 'num_blocks': num_blocks,
'block_size': block_size}
@ -73,7 +73,7 @@ def construct_aio_bdev(client, filename, name, block_size=None):
block_size: block size of device (optional; autodetected if omitted)
Returns:
List of created block devices.
Name of created block device.
"""
params = {'name': name,
'filename': filename}
@ -95,7 +95,7 @@ def delete_aio_bdev(client, name):
def construct_nvme_bdev(client, name, trtype, traddr, adrfam=None, trsvcid=None, subnqn=None):
"""Construct NVMe namespace block devices.
"""Construct NVMe namespace block device.
Args:
name: bdev name prefix; "n" + namespace ID will be appended to create unique names
@ -106,7 +106,7 @@ def construct_nvme_bdev(client, name, trtype, traddr, adrfam=None, trsvcid=None,
subnqn: subsystem NQN to connect to (optional)
Returns:
List of created block devices.
Name of created block device.
"""
params = {'name': name,
'trtype': trtype,
@ -134,7 +134,7 @@ def construct_rbd_bdev(client, pool_name, rbd_name, block_size, name=None):
name: name of block device (optional)
Returns:
List of created block devices.
Name of created block device.
"""
params = {
'pool_name': pool_name,
@ -177,7 +177,7 @@ def construct_iscsi_bdev(client, name, url, initiator_iqn):
initiator_iqn: IQN name to be used by initiator
Returns:
List of created block devices.
Name of created block device.
"""
params = {
'name': name,
@ -205,7 +205,7 @@ def construct_pmem_bdev(client, pmem_file, name):
name: name of block device
Returns:
List of created block devices.
Name of created block device.
"""
params = {
'pmem_file': pmem_file,
@ -222,7 +222,7 @@ def construct_passthru_bdev(client, base_bdev_name, passthru_bdev_name):
passthru_bdev_name: name of block device
Returns:
List of created block devices.
Name of created block device.
"""
params = {
'base_bdev_name': base_bdev_name,

View File

@ -40,6 +40,9 @@ def construct_lvol_bdev(client, lvol_name, size, thin_provision=False, uuid=None
lvs_name: name of logical volume store to create logical volume on (optional)
Either uuid or lvs_name must be specified, but not both.
Returns:
Name of created logical volume block device.
"""
if (uuid and lvs_name) or (not uuid and not lvs_name):
raise ValueError("Either uuid or lvs_name must be specified, but not both")
@ -60,6 +63,9 @@ def snapshot_lvol_bdev(client, lvol_name, snapshot_name):
Args:
lvol_name: logical volume to create a snapshot from
snapshot_name: name for the newly created snapshot
Returns:
Name of created logical volume snapshot.
"""
params = {
'lvol_name': lvol_name,
@ -74,6 +80,9 @@ def clone_lvol_bdev(client, snapshot_name, clone_name):
Args:
snapshot_name: snapshot to clone
clone_name: name of logical volume to create
Returns:
Name of created logical volume clone.
"""
params = {
'snapshot_name': snapshot_name,