RPC: rename RPC aio_bdev series
RPC: rename RPC construct_aio_bdev to bdev_aio_create RPC: rename RPC delete_aio_bdev to bdev_aio_delete Change-Id: I09ffc3cc0d2117f7210be7920bffddb9d7c7f30c Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465035 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Pawel Kaminski <pawelx.kaminski@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
parent
cc6314a413
commit
acaa079b20
10
doc/bdev.md
10
doc/bdev.md
@ -315,22 +315,22 @@ The SPDK AIO bdev driver provides SPDK block layer access to Linux kernel block
|
|||||||
devices or a file on a Linux filesystem via Linux AIO. Note that O_DIRECT is
|
devices or a file on a Linux filesystem via Linux AIO. Note that O_DIRECT is
|
||||||
used and thus bypasses the Linux page cache. This mode is probably as close to
|
used and thus bypasses the Linux page cache. This mode is probably as close to
|
||||||
a typical kernel based target as a user space target can get without using a
|
a typical kernel based target as a user space target can get without using a
|
||||||
user-space driver. To create AIO bdev RPC command `construct_aio_bdev` should be
|
user-space driver. To create AIO bdev RPC command `bdev_aio_create` should be
|
||||||
used.
|
used.
|
||||||
|
|
||||||
Example commands
|
Example commands
|
||||||
|
|
||||||
`rpc.py construct_aio_bdev /dev/sda aio0`
|
`rpc.py bdev_aio_create /dev/sda aio0`
|
||||||
|
|
||||||
This command will create `aio0` device from /dev/sda.
|
This command will create `aio0` device from /dev/sda.
|
||||||
|
|
||||||
`rpc.py construct_aio_bdev /tmp/file file 8192`
|
`rpc.py bdev_aio_create /tmp/file file 8192`
|
||||||
|
|
||||||
This command will create `file` device with block size 8192 from /tmp/file.
|
This command will create `file` device with block size 8192 from /tmp/file.
|
||||||
|
|
||||||
To delete an aio bdev use the delete_aio_bdev command.
|
To delete an aio bdev use the bdev_aio_delete command.
|
||||||
|
|
||||||
`rpc.py delete_aio_bdev aio0`
|
`rpc.py bdev_aio_delete aio0`
|
||||||
|
|
||||||
# OCF Virtual bdev {#bdev_config_cas}
|
# OCF Virtual bdev {#bdev_config_cas}
|
||||||
|
|
||||||
|
@ -283,8 +283,8 @@ Example response:
|
|||||||
"construct_virtio_dev",
|
"construct_virtio_dev",
|
||||||
"get_virtio_scsi_devs",
|
"get_virtio_scsi_devs",
|
||||||
"remove_virtio_bdev",
|
"remove_virtio_bdev",
|
||||||
"delete_aio_bdev",
|
"bdev_aio_delete",
|
||||||
"construct_aio_bdev",
|
"bdev_aio_create",
|
||||||
"destruct_split_vbdev",
|
"destruct_split_vbdev",
|
||||||
"construct_split_vbdev",
|
"construct_split_vbdev",
|
||||||
"bdev_inject_error",
|
"bdev_inject_error",
|
||||||
@ -1311,7 +1311,7 @@ Example response:
|
|||||||
}
|
}
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
## construct_aio_bdev {#rpc_construct_aio_bdev}
|
## bdev_aio_create {#rpc_bdev_aio_create}
|
||||||
|
|
||||||
Construct @ref bdev_config_aio.
|
Construct @ref bdev_config_aio.
|
||||||
|
|
||||||
@ -1339,7 +1339,7 @@ Example request:
|
|||||||
"filename": "/tmp/aio_bdev_file"
|
"filename": "/tmp/aio_bdev_file"
|
||||||
},
|
},
|
||||||
"jsonrpc": "2.0",
|
"jsonrpc": "2.0",
|
||||||
"method": "construct_aio_bdev",
|
"method": "bdev_aio_create",
|
||||||
"id": 1
|
"id": 1
|
||||||
}
|
}
|
||||||
~~~
|
~~~
|
||||||
@ -1354,7 +1354,7 @@ Example response:
|
|||||||
}
|
}
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
## delete_aio_bdev {#rpc_delete_aio_bdev}
|
## bdev_aio_delete {#rpc_bdev_aio_delete}
|
||||||
|
|
||||||
Delete @ref bdev_config_aio.
|
Delete @ref bdev_config_aio.
|
||||||
|
|
||||||
@ -1374,7 +1374,7 @@ Example request:
|
|||||||
"name": "Aio0"
|
"name": "Aio0"
|
||||||
},
|
},
|
||||||
"jsonrpc": "2.0",
|
"jsonrpc": "2.0",
|
||||||
"method": "delete_aio_bdev",
|
"method": "bdev_aio_delete",
|
||||||
"id": 1
|
"id": 1
|
||||||
}
|
}
|
||||||
~~~
|
~~~
|
||||||
|
@ -524,7 +524,7 @@ bdev_aio_write_json_config(struct spdk_bdev *bdev, struct spdk_json_write_ctx *w
|
|||||||
|
|
||||||
spdk_json_write_object_begin(w);
|
spdk_json_write_object_begin(w);
|
||||||
|
|
||||||
spdk_json_write_named_string(w, "method", "construct_aio_bdev");
|
spdk_json_write_named_string(w, "method", "bdev_aio_create");
|
||||||
|
|
||||||
spdk_json_write_named_object_begin(w, "params");
|
spdk_json_write_named_object_begin(w, "params");
|
||||||
spdk_json_write_named_string(w, "name", bdev->name);
|
spdk_json_write_named_string(w, "name", bdev->name);
|
||||||
@ -703,7 +703,7 @@ aio_bdev_unregister_cb(void *arg, int bdeverrno)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
delete_aio_bdev(struct spdk_bdev *bdev, delete_aio_bdev_complete cb_fn, void *cb_arg)
|
bdev_aio_delete(struct spdk_bdev *bdev, delete_aio_bdev_complete cb_fn, void *cb_arg)
|
||||||
{
|
{
|
||||||
struct delete_aio_bdev_ctx *ctx;
|
struct delete_aio_bdev_ctx *ctx;
|
||||||
|
|
||||||
|
@ -41,6 +41,6 @@ typedef void (*delete_aio_bdev_complete)(void *cb_arg, int bdeverrno);
|
|||||||
|
|
||||||
int create_aio_bdev(const char *name, const char *filename, uint32_t block_size);
|
int create_aio_bdev(const char *name, const char *filename, uint32_t block_size);
|
||||||
|
|
||||||
void delete_aio_bdev(struct spdk_bdev *bdev, delete_aio_bdev_complete cb_fn, void *cb_arg);
|
void bdev_aio_delete(struct spdk_bdev *bdev, delete_aio_bdev_complete cb_fn, void *cb_arg);
|
||||||
|
|
||||||
#endif /* SPDK_BDEV_AIO_H */
|
#endif /* SPDK_BDEV_AIO_H */
|
||||||
|
@ -57,7 +57,7 @@ static const struct spdk_json_object_decoder rpc_construct_aio_decoders[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
spdk_rpc_construct_aio_bdev(struct spdk_jsonrpc_request *request,
|
spdk_rpc_bdev_aio_create(struct spdk_jsonrpc_request *request,
|
||||||
const struct spdk_json_val *params)
|
const struct spdk_json_val *params)
|
||||||
{
|
{
|
||||||
struct rpc_construct_aio req = {};
|
struct rpc_construct_aio req = {};
|
||||||
@ -87,7 +87,8 @@ spdk_rpc_construct_aio_bdev(struct spdk_jsonrpc_request *request,
|
|||||||
cleanup:
|
cleanup:
|
||||||
free_rpc_construct_aio(&req);
|
free_rpc_construct_aio(&req);
|
||||||
}
|
}
|
||||||
SPDK_RPC_REGISTER("construct_aio_bdev", spdk_rpc_construct_aio_bdev, SPDK_RPC_RUNTIME)
|
SPDK_RPC_REGISTER("bdev_aio_create", spdk_rpc_bdev_aio_create, SPDK_RPC_RUNTIME)
|
||||||
|
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_aio_create, construct_aio_bdev)
|
||||||
|
|
||||||
struct rpc_delete_aio {
|
struct rpc_delete_aio {
|
||||||
char *name;
|
char *name;
|
||||||
@ -104,7 +105,7 @@ static const struct spdk_json_object_decoder rpc_delete_aio_decoders[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_spdk_rpc_delete_aio_bdev_cb(void *cb_arg, int bdeverrno)
|
_spdk_rpc_bdev_aio_delete_cb(void *cb_arg, int bdeverrno)
|
||||||
{
|
{
|
||||||
struct spdk_jsonrpc_request *request = cb_arg;
|
struct spdk_jsonrpc_request *request = cb_arg;
|
||||||
struct spdk_json_write_ctx *w = spdk_jsonrpc_begin_result(request);
|
struct spdk_json_write_ctx *w = spdk_jsonrpc_begin_result(request);
|
||||||
@ -114,7 +115,7 @@ _spdk_rpc_delete_aio_bdev_cb(void *cb_arg, int bdeverrno)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
spdk_rpc_delete_aio_bdev(struct spdk_jsonrpc_request *request,
|
spdk_rpc_bdev_aio_delete(struct spdk_jsonrpc_request *request,
|
||||||
const struct spdk_json_val *params)
|
const struct spdk_json_val *params)
|
||||||
{
|
{
|
||||||
struct rpc_delete_aio req = {NULL};
|
struct rpc_delete_aio req = {NULL};
|
||||||
@ -134,7 +135,7 @@ spdk_rpc_delete_aio_bdev(struct spdk_jsonrpc_request *request,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
delete_aio_bdev(bdev, _spdk_rpc_delete_aio_bdev_cb, request);
|
bdev_aio_delete(bdev, _spdk_rpc_bdev_aio_delete_cb, request);
|
||||||
|
|
||||||
free_rpc_delete_aio(&req);
|
free_rpc_delete_aio(&req);
|
||||||
|
|
||||||
@ -143,4 +144,5 @@ spdk_rpc_delete_aio_bdev(struct spdk_jsonrpc_request *request,
|
|||||||
cleanup:
|
cleanup:
|
||||||
free_rpc_delete_aio(&req);
|
free_rpc_delete_aio(&req);
|
||||||
}
|
}
|
||||||
SPDK_RPC_REGISTER("delete_aio_bdev", spdk_rpc_delete_aio_bdev, SPDK_RPC_RUNTIME)
|
SPDK_RPC_REGISTER("bdev_aio_delete", spdk_rpc_bdev_aio_delete, SPDK_RPC_RUNTIME)
|
||||||
|
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_aio_delete, delete_aio_bdev)
|
||||||
|
@ -13,7 +13,7 @@ bdev_dict["set_bdev_nvme_options"] = []
|
|||||||
bdev_dict["construct_nvme_bdev"] = []
|
bdev_dict["construct_nvme_bdev"] = []
|
||||||
bdev_dict["set_bdev_nvme_hotplug"] = []
|
bdev_dict["set_bdev_nvme_hotplug"] = []
|
||||||
bdev_dict["bdev_malloc_create"] = []
|
bdev_dict["bdev_malloc_create"] = []
|
||||||
bdev_dict["construct_aio_bdev"] = []
|
bdev_dict["bdev_aio_create"] = []
|
||||||
bdev_dict["construct_pmem_bdev"] = []
|
bdev_dict["construct_pmem_bdev"] = []
|
||||||
bdev_dict["construct_virtio_dev"] = []
|
bdev_dict["construct_virtio_dev"] = []
|
||||||
|
|
||||||
@ -174,7 +174,7 @@ def get_aio_bdev_json(config, section):
|
|||||||
params['block_size'] = int(items[2])
|
params['block_size'] = int(items[2])
|
||||||
aio_json.append({
|
aio_json.append({
|
||||||
"params": params,
|
"params": params,
|
||||||
"method": "construct_aio_bdev"
|
"method": "bdev_aio_create"
|
||||||
})
|
})
|
||||||
|
|
||||||
return aio_json
|
return aio_json
|
||||||
|
@ -271,26 +271,26 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('name', help='null bdev name')
|
p.add_argument('name', help='null bdev name')
|
||||||
p.set_defaults(func=delete_null_bdev)
|
p.set_defaults(func=delete_null_bdev)
|
||||||
|
|
||||||
def construct_aio_bdev(args):
|
def bdev_aio_create(args):
|
||||||
print_json(rpc.bdev.construct_aio_bdev(args.client,
|
print_json(rpc.bdev.bdev_aio_create(args.client,
|
||||||
filename=args.filename,
|
filename=args.filename,
|
||||||
name=args.name,
|
name=args.name,
|
||||||
block_size=args.block_size))
|
block_size=args.block_size))
|
||||||
|
|
||||||
p = subparsers.add_parser('construct_aio_bdev',
|
p = subparsers.add_parser('bdev_aio_create',
|
||||||
help='Add a bdev with aio backend')
|
help='Add a bdev with aio backend')
|
||||||
p.add_argument('filename', help='Path to device or file (ex: /dev/sda)')
|
p.add_argument('filename', help='Path to device or file (ex: /dev/sda)')
|
||||||
p.add_argument('name', help='Block device name')
|
p.add_argument('name', help='Block device name')
|
||||||
p.add_argument('block_size', help='Block size for this bdev', type=int, nargs='?', default=0)
|
p.add_argument('block_size', help='Block size for this bdev', type=int, nargs='?', default=0)
|
||||||
p.set_defaults(func=construct_aio_bdev)
|
p.set_defaults(func=bdev_aio_create)
|
||||||
|
|
||||||
def delete_aio_bdev(args):
|
def bdev_aio_delete(args):
|
||||||
rpc.bdev.delete_aio_bdev(args.client,
|
rpc.bdev.bdev_aio_delete(args.client,
|
||||||
name=args.name)
|
name=args.name)
|
||||||
|
|
||||||
p = subparsers.add_parser('delete_aio_bdev', help='Delete an aio disk')
|
p = subparsers.add_parser('bdev_aio_delete', help='Delete an aio disk')
|
||||||
p.add_argument('name', help='aio bdev name')
|
p.add_argument('name', help='aio bdev name')
|
||||||
p.set_defaults(func=delete_aio_bdev)
|
p.set_defaults(func=bdev_aio_delete)
|
||||||
|
|
||||||
def set_bdev_nvme_options(args):
|
def set_bdev_nvme_options(args):
|
||||||
rpc.bdev.set_bdev_nvme_options(args.client,
|
rpc.bdev.set_bdev_nvme_options(args.client,
|
||||||
|
@ -249,7 +249,8 @@ def destroy_raid_bdev(client, name):
|
|||||||
return client.call('destroy_raid_bdev', params)
|
return client.call('destroy_raid_bdev', params)
|
||||||
|
|
||||||
|
|
||||||
def construct_aio_bdev(client, filename, name, block_size=None):
|
@deprecated_alias('construct_aio_bdev')
|
||||||
|
def bdev_aio_create(client, filename, name, block_size=None):
|
||||||
"""Construct a Linux AIO block device.
|
"""Construct a Linux AIO block device.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
@ -266,17 +267,18 @@ def construct_aio_bdev(client, filename, name, block_size=None):
|
|||||||
if block_size:
|
if block_size:
|
||||||
params['block_size'] = block_size
|
params['block_size'] = block_size
|
||||||
|
|
||||||
return client.call('construct_aio_bdev', params)
|
return client.call('bdev_aio_create', params)
|
||||||
|
|
||||||
|
|
||||||
def delete_aio_bdev(client, name):
|
@deprecated_alias('delete_aio_bdev')
|
||||||
|
def bdev_aio_delete(client, name):
|
||||||
"""Remove aio bdev from the system.
|
"""Remove aio bdev from the system.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
bdev_name: name of aio bdev to delete
|
bdev_name: name of aio bdev to delete
|
||||||
"""
|
"""
|
||||||
params = {'name': name}
|
params = {'name': name}
|
||||||
return client.call('delete_aio_bdev', params)
|
return client.call('bdev_aio_delete', params)
|
||||||
|
|
||||||
|
|
||||||
def set_bdev_nvme_options(client, action_on_timeout=None, timeout_us=None, retry_count=None,
|
def set_bdev_nvme_options(client, action_on_timeout=None, timeout_us=None, retry_count=None,
|
||||||
|
@ -203,7 +203,7 @@ class UIAIOBdev(UIBdev):
|
|||||||
UIBdev.__init__(self, "aio", parent)
|
UIBdev.__init__(self, "aio", parent)
|
||||||
|
|
||||||
def delete(self, name):
|
def delete(self, name):
|
||||||
self.get_root().delete_aio_bdev(name=name)
|
self.get_root().bdev_aio_delete(name=name)
|
||||||
|
|
||||||
def ui_command_create(self, name, filename, block_size):
|
def ui_command_create(self, name, filename, block_size):
|
||||||
"""
|
"""
|
||||||
@ -218,7 +218,7 @@ class UIAIOBdev(UIBdev):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
block_size = self.ui_eval_param(block_size, "number", None)
|
block_size = self.ui_eval_param(block_size, "number", None)
|
||||||
ret_name = self.get_root().create_aio_bdev(name=name,
|
ret_name = self.get_root().bdev_aio_create(name=name,
|
||||||
block_size=int(block_size),
|
block_size=int(block_size),
|
||||||
filename=filename)
|
filename=filename)
|
||||||
self.shell.log.info(ret_name)
|
self.shell.log.info(ret_name)
|
||||||
|
@ -144,13 +144,13 @@ class UIRoot(UINode):
|
|||||||
rpc.bdev.delete_iscsi_bdev(self.client, **kwargs)
|
rpc.bdev.delete_iscsi_bdev(self.client, **kwargs)
|
||||||
|
|
||||||
@verbose
|
@verbose
|
||||||
def create_aio_bdev(self, **kwargs):
|
def bdev_aio_create(self, **kwargs):
|
||||||
response = rpc.bdev.construct_aio_bdev(self.client, **kwargs)
|
response = rpc.bdev.bdev_aio_create(self.client, **kwargs)
|
||||||
return response
|
return response
|
||||||
|
|
||||||
@verbose
|
@verbose
|
||||||
def delete_aio_bdev(self, **kwargs):
|
def bdev_aio_delete(self, **kwargs):
|
||||||
rpc.bdev.delete_aio_bdev(self.client, **kwargs)
|
rpc.bdev.bdev_aio_delete(self.client, **kwargs)
|
||||||
|
|
||||||
@verbose
|
@verbose
|
||||||
def create_lvol_bdev(self, **kwargs):
|
def create_lvol_bdev(self, **kwargs):
|
||||||
|
@ -22,7 +22,7 @@ bdev_svc_pid=$!
|
|||||||
trap 'killprocess $bdev_svc_pid; exit 1' SIGINT SIGTERM EXIT
|
trap 'killprocess $bdev_svc_pid; exit 1' SIGINT SIGTERM EXIT
|
||||||
|
|
||||||
waitforlisten $bdev_svc_pid
|
waitforlisten $bdev_svc_pid
|
||||||
$rpc_py construct_aio_bdev $testdir/aio.bdev aio0 4096
|
$rpc_py bdev_aio_create $testdir/aio.bdev aio0 4096
|
||||||
$rpc_py construct_lvol_store aio0 lvs0
|
$rpc_py construct_lvol_store aio0 lvs0
|
||||||
$rpc_py construct_lvol_bdev -l lvs0 lvol0 32
|
$rpc_py construct_lvol_bdev -l lvs0 lvol0 32
|
||||||
|
|
||||||
|
@ -125,7 +125,7 @@
|
|||||||
"name": "AIO0",
|
"name": "AIO0",
|
||||||
"filename": "/tmp/sample_aio0"
|
"filename": "/tmp/sample_aio0"
|
||||||
},
|
},
|
||||||
"method": "construct_aio_bdev"
|
"method": "bdev_aio_create"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"params": {
|
"params": {
|
||||||
@ -133,7 +133,7 @@
|
|||||||
"name": "AIO1",
|
"name": "AIO1",
|
||||||
"filename": "/tmp/sample_aio1"
|
"filename": "/tmp/sample_aio1"
|
||||||
},
|
},
|
||||||
"method": "construct_aio_bdev"
|
"method": "bdev_aio_create"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"params": {
|
"params": {
|
||||||
@ -141,7 +141,7 @@
|
|||||||
"name": "AIO2",
|
"name": "AIO2",
|
||||||
"filename": "/tmp/sample_aio2"
|
"filename": "/tmp/sample_aio2"
|
||||||
},
|
},
|
||||||
"method": "construct_aio_bdev"
|
"method": "bdev_aio_create"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"params": {
|
"params": {
|
||||||
@ -149,7 +149,7 @@
|
|||||||
"name": "AIO3",
|
"name": "AIO3",
|
||||||
"filename": "/tmp/sample_aio1"
|
"filename": "/tmp/sample_aio1"
|
||||||
},
|
},
|
||||||
"method": "construct_aio_bdev"
|
"method": "bdev_aio_create"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"params": {
|
"params": {
|
||||||
@ -157,7 +157,7 @@
|
|||||||
"name": "AIO4",
|
"name": "AIO4",
|
||||||
"filename": "/tmp/sample_aio2"
|
"filename": "/tmp/sample_aio2"
|
||||||
},
|
},
|
||||||
"method": "construct_aio_bdev"
|
"method": "bdev_aio_create"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"params": {
|
"params": {
|
||||||
|
@ -35,7 +35,7 @@ def get_bdev_destroy_method(bdev):
|
|||||||
'construct_null_bdev': "delete_null_bdev",
|
'construct_null_bdev': "delete_null_bdev",
|
||||||
'construct_rbd_bdev': "delete_rbd_bdev",
|
'construct_rbd_bdev': "delete_rbd_bdev",
|
||||||
'construct_pmem_bdev': "delete_pmem_bdev",
|
'construct_pmem_bdev': "delete_pmem_bdev",
|
||||||
'construct_aio_bdev': "delete_aio_bdev",
|
'bdev_aio_create': "bdev_aio_delete",
|
||||||
'construct_error_bdev': "delete_error_bdev",
|
'construct_error_bdev': "delete_error_bdev",
|
||||||
'construct_split_vbdev': "destruct_split_vbdev",
|
'construct_split_vbdev': "destruct_split_vbdev",
|
||||||
'construct_virtio_dev': "remove_virtio_bdev",
|
'construct_virtio_dev': "remove_virtio_bdev",
|
||||||
|
@ -193,7 +193,7 @@ function create_bdev_subsystem_config() {
|
|||||||
if [[ $(uname -s) = Linux ]]; then
|
if [[ $(uname -s) = Linux ]]; then
|
||||||
# This AIO bdev must be large enough to be used as LVOL store
|
# This AIO bdev must be large enough to be used as LVOL store
|
||||||
dd if=/dev/zero of=/tmp/sample_aio bs=1024 count=102400
|
dd if=/dev/zero of=/tmp/sample_aio bs=1024 count=102400
|
||||||
tgt_rpc construct_aio_bdev /tmp/sample_aio aio_disk 1024
|
tgt_rpc bdev_aio_create /tmp/sample_aio aio_disk 1024
|
||||||
expected_notifications+=( bdev_register:aio_disk )
|
expected_notifications+=( bdev_register:aio_disk )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -234,12 +234,12 @@ class Commands_Rpc(object):
|
|||||||
output, rc = self.rpc.decouple_parent_lvol_bdev(clone_name)
|
output, rc = self.rpc.decouple_parent_lvol_bdev(clone_name)
|
||||||
return rc
|
return rc
|
||||||
|
|
||||||
def construct_aio_bdev(self, aio_path, aio_name, aio_bs=""):
|
def bdev_aio_create(self, aio_path, aio_name, aio_bs=""):
|
||||||
print("INFO: RPC COMMAND construct_aio_bdev")
|
print("INFO: RPC COMMAND bdev_aio_create")
|
||||||
output, rc = self.rpc.construct_aio_bdev(aio_path, aio_name, aio_bs)
|
output, rc = self.rpc.bdev_aio_create(aio_path, aio_name, aio_bs)
|
||||||
return rc
|
return rc
|
||||||
|
|
||||||
def delete_aio_bdev(self, aio_name):
|
def bdev_aio_delete(self, aio_name):
|
||||||
print("INFO: RPC COMMAND delete_aio_bdev")
|
print("INFO: RPC COMMAND bdev_aio_delete")
|
||||||
output, rc = self.rpc.delete_aio_bdev(aio_name)
|
output, rc = self.rpc.bdev_aio_delete(aio_name)
|
||||||
return rc
|
return rc
|
||||||
|
@ -958,7 +958,7 @@ class TestCases(object):
|
|||||||
base_name = "aio_bdev0"
|
base_name = "aio_bdev0"
|
||||||
aio_bdev0 = path.join(base_path, "aio_bdev_0")
|
aio_bdev0 = path.join(base_path, "aio_bdev_0")
|
||||||
# Construct aio bdev
|
# Construct aio bdev
|
||||||
self.c.construct_aio_bdev(aio_bdev0, base_name, 4096)
|
self.c.bdev_aio_create(aio_bdev0, base_name, 4096)
|
||||||
# Create lvol store on created aio bdev
|
# Create lvol store on created aio bdev
|
||||||
uuid_store = self.c.construct_lvol_store(base_name,
|
uuid_store = self.c.construct_lvol_store(base_name,
|
||||||
self.lvs_name)
|
self.lvs_name)
|
||||||
@ -969,9 +969,9 @@ class TestCases(object):
|
|||||||
fail_count += 1
|
fail_count += 1
|
||||||
|
|
||||||
# Delete aio bdev
|
# Delete aio bdev
|
||||||
self.c.delete_aio_bdev(base_name)
|
self.c.bdev_aio_delete(base_name)
|
||||||
# Create aio bdev on the same file
|
# Create aio bdev on the same file
|
||||||
self.c.construct_aio_bdev(aio_bdev0, base_name, 4096)
|
self.c.bdev_aio_create(aio_bdev0, base_name, 4096)
|
||||||
# Wait 1 second to allow time for lvolstore tasting
|
# Wait 1 second to allow time for lvolstore tasting
|
||||||
sleep(1)
|
sleep(1)
|
||||||
|
|
||||||
@ -980,7 +980,7 @@ class TestCases(object):
|
|||||||
self.cluster_size)
|
self.cluster_size)
|
||||||
if ret_value == 0:
|
if ret_value == 0:
|
||||||
fail_count += 1
|
fail_count += 1
|
||||||
self.c.delete_aio_bdev(base_name)
|
self.c.bdev_aio_delete(base_name)
|
||||||
|
|
||||||
# Expected result:
|
# Expected result:
|
||||||
# - get_lvol_stores should not report any existsing lvol stores in configuration
|
# - get_lvol_stores should not report any existsing lvol stores in configuration
|
||||||
@ -1865,7 +1865,7 @@ class TestCases(object):
|
|||||||
pid_path = path.join(base_path, 'vhost.pid')
|
pid_path = path.join(base_path, 'vhost.pid')
|
||||||
aio_bdev0 = path.join(base_path, 'aio_bdev_0')
|
aio_bdev0 = path.join(base_path, 'aio_bdev_0')
|
||||||
|
|
||||||
self.c.construct_aio_bdev(aio_bdev0, base_name, 4096)
|
self.c.bdev_aio_create(aio_bdev0, base_name, 4096)
|
||||||
# Create initial configuration on running vhost instance
|
# Create initial configuration on running vhost instance
|
||||||
# create lvol store, create 5 bdevs
|
# create lvol store, create 5 bdevs
|
||||||
# save info of all lvs and lvol bdevs
|
# save info of all lvs and lvol bdevs
|
||||||
@ -1895,7 +1895,7 @@ class TestCases(object):
|
|||||||
fail_count += 1
|
fail_count += 1
|
||||||
return fail_count
|
return fail_count
|
||||||
|
|
||||||
self.c.construct_aio_bdev(aio_bdev0, base_name, 4096)
|
self.c.bdev_aio_create(aio_bdev0, base_name, 4096)
|
||||||
# Check if configuration was properly loaded after tasting
|
# Check if configuration was properly loaded after tasting
|
||||||
# get all info all lvs and lvol bdevs, compare with previous info
|
# get all info all lvs and lvol bdevs, compare with previous info
|
||||||
new_bdevs = sorted(self.c.get_lvol_bdevs(), key=lambda x: x["name"])
|
new_bdevs = sorted(self.c.get_lvol_bdevs(), key=lambda x: x["name"])
|
||||||
@ -1920,7 +1920,7 @@ class TestCases(object):
|
|||||||
pprint.pprint([o, n])
|
pprint.pprint([o, n])
|
||||||
|
|
||||||
if fail_count != 0:
|
if fail_count != 0:
|
||||||
self.c.delete_aio_bdev(aio_bdev0)
|
self.c.bdev_aio_delete(aio_bdev0)
|
||||||
return fail_count
|
return fail_count
|
||||||
|
|
||||||
# Try modifying loaded configuration
|
# Try modifying loaded configuration
|
||||||
@ -1960,7 +1960,7 @@ class TestCases(object):
|
|||||||
if self.c.destroy_lvol_store(uuid_store) != 0:
|
if self.c.destroy_lvol_store(uuid_store) != 0:
|
||||||
fail_count += 1
|
fail_count += 1
|
||||||
|
|
||||||
self.c.delete_aio_bdev(base_name)
|
self.c.bdev_aio_delete(base_name)
|
||||||
|
|
||||||
return fail_count
|
return fail_count
|
||||||
|
|
||||||
@ -1975,15 +1975,15 @@ class TestCases(object):
|
|||||||
aio_bdev0 = path.join(base_path, 'aio_bdev_0')
|
aio_bdev0 = path.join(base_path, 'aio_bdev_0')
|
||||||
base_name = "aio_bdev0"
|
base_name = "aio_bdev0"
|
||||||
|
|
||||||
self.c.construct_aio_bdev(aio_bdev0, base_name, 4096)
|
self.c.bdev_aio_create(aio_bdev0, base_name, 4096)
|
||||||
# construct lvol store on aio bdev
|
# construct lvol store on aio bdev
|
||||||
uuid_store = self.c.construct_lvol_store(base_name,
|
uuid_store = self.c.construct_lvol_store(base_name,
|
||||||
self.lvs_name)
|
self.lvs_name)
|
||||||
fail_count = self.c.check_get_lvol_stores(base_name, uuid_store,
|
fail_count = self.c.check_get_lvol_stores(base_name, uuid_store,
|
||||||
self.cluster_size)
|
self.cluster_size)
|
||||||
|
|
||||||
self.c.delete_aio_bdev(base_name)
|
self.c.bdev_aio_delete(base_name)
|
||||||
self.c.construct_aio_bdev(aio_bdev0, base_name, 4096)
|
self.c.bdev_aio_create(aio_bdev0, base_name, 4096)
|
||||||
# wait 1 second to allow time for lvolstore tasting
|
# wait 1 second to allow time for lvolstore tasting
|
||||||
sleep(1)
|
sleep(1)
|
||||||
# check if lvol store still exists in vhost configuration
|
# check if lvol store still exists in vhost configuration
|
||||||
@ -1994,7 +1994,7 @@ class TestCases(object):
|
|||||||
if self.c.destroy_lvol_store(uuid_store) != 0:
|
if self.c.destroy_lvol_store(uuid_store) != 0:
|
||||||
fail_count += 1
|
fail_count += 1
|
||||||
|
|
||||||
self.c.delete_aio_bdev(base_name)
|
self.c.bdev_aio_delete(base_name)
|
||||||
return fail_count
|
return fail_count
|
||||||
|
|
||||||
@case_message
|
@case_message
|
||||||
@ -2021,8 +2021,8 @@ class TestCases(object):
|
|||||||
aio_bdev0 = path.join(base_path, 'aio_bdev_0')
|
aio_bdev0 = path.join(base_path, 'aio_bdev_0')
|
||||||
aio_bdev1 = path.join(base_path, 'aio_bdev_1')
|
aio_bdev1 = path.join(base_path, 'aio_bdev_1')
|
||||||
|
|
||||||
self.c.construct_aio_bdev(aio_bdev0, base_name_1M, 4096)
|
self.c.bdev_aio_create(aio_bdev0, base_name_1M, 4096)
|
||||||
self.c.construct_aio_bdev(aio_bdev1, base_name_32M, 4096)
|
self.c.bdev_aio_create(aio_bdev1, base_name_32M, 4096)
|
||||||
|
|
||||||
# Create initial configuration on running vhost instance
|
# Create initial configuration on running vhost instance
|
||||||
# create lvol store, create 5 bdevs
|
# create lvol store, create 5 bdevs
|
||||||
@ -2073,8 +2073,8 @@ class TestCases(object):
|
|||||||
fail_count += 1
|
fail_count += 1
|
||||||
return fail_count
|
return fail_count
|
||||||
|
|
||||||
self.c.construct_aio_bdev(aio_bdev0, base_name_1M, 4096)
|
self.c.bdev_aio_create(aio_bdev0, base_name_1M, 4096)
|
||||||
self.c.construct_aio_bdev(aio_bdev1, base_name_32M, 4096)
|
self.c.bdev_aio_create(aio_bdev1, base_name_32M, 4096)
|
||||||
|
|
||||||
# wait 1 second to allow time for lvolstore tasting
|
# wait 1 second to allow time for lvolstore tasting
|
||||||
sleep(1)
|
sleep(1)
|
||||||
@ -2103,8 +2103,8 @@ class TestCases(object):
|
|||||||
pprint.pprint([o, n])
|
pprint.pprint([o, n])
|
||||||
|
|
||||||
if fail_count != 0:
|
if fail_count != 0:
|
||||||
self.c.delete_aio_bdev(base_name_1M)
|
self.c.bdev_aio_delete(base_name_1M)
|
||||||
self.c.delete_aio_bdev(base_name_32M)
|
self.c.bdev_aio_delete(base_name_32M)
|
||||||
return fail_count
|
return fail_count
|
||||||
|
|
||||||
for uuid_bdev in uuid_bdevs:
|
for uuid_bdev in uuid_bdevs:
|
||||||
@ -2116,8 +2116,8 @@ class TestCases(object):
|
|||||||
if self.c.destroy_lvol_store(uuid_store_32M) != 0:
|
if self.c.destroy_lvol_store(uuid_store_32M) != 0:
|
||||||
fail_count += 1
|
fail_count += 1
|
||||||
|
|
||||||
self.c.delete_aio_bdev(base_name_1M)
|
self.c.bdev_aio_delete(base_name_1M)
|
||||||
self.c.delete_aio_bdev(base_name_32M)
|
self.c.bdev_aio_delete(base_name_32M)
|
||||||
|
|
||||||
return fail_count
|
return fail_count
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ notice "..."
|
|||||||
# TODO: use a param for blocksize for AIO and Malloc bdevs
|
# TODO: use a param for blocksize for AIO and Malloc bdevs
|
||||||
aio_file="$testdir/aio_disk"
|
aio_file="$testdir/aio_disk"
|
||||||
dd if=/dev/zero of=$aio_file bs=1M count=512
|
dd if=/dev/zero of=$aio_file bs=1M count=512
|
||||||
$rpc_py construct_aio_bdev $aio_file Aio0 512
|
$rpc_py bdev_aio_create $aio_file Aio0 512
|
||||||
$rpc_py bdev_malloc_create -b Malloc0 256 512
|
$rpc_py bdev_malloc_create -b Malloc0 256 512
|
||||||
$rpc_py get_bdevs
|
$rpc_py get_bdevs
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ timing_enter vhost_run
|
|||||||
vhost_run 0
|
vhost_run 0
|
||||||
$rpc_py set_bdev_nvme_hotplug -e
|
$rpc_py set_bdev_nvme_hotplug -e
|
||||||
$rpc_py bdev_malloc_create 256 4096 -b Malloc0
|
$rpc_py bdev_malloc_create 256 4096 -b Malloc0
|
||||||
$rpc_py construct_aio_bdev $aio_file Aio0 512
|
$rpc_py bdev_aio_create $aio_file Aio0 512
|
||||||
$rpc_py get_bdevs
|
$rpc_py get_bdevs
|
||||||
$rpc_py construct_vhost_scsi_controller naa.vhost.1
|
$rpc_py construct_vhost_scsi_controller naa.vhost.1
|
||||||
$rpc_py add_vhost_scsi_lun naa.vhost.1 0 Nvme0n1
|
$rpc_py add_vhost_scsi_lun naa.vhost.1 0 Nvme0n1
|
||||||
|
Loading…
Reference in New Issue
Block a user