scripts/rpc: Rename rpcs related to ftl bdev

Rename construct_ftl_bdev to bdev_ftl_create
Rename delete_ftl_bdev to bdev_ftl_delete

Change-Id: I661ecea2ed5f53880c9a77819fcca064f0410535
Signed-off-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465897
Reviewed-by: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Pawel Kaminski 2019-08-21 05:03:04 -04:00 committed by Jim Harris
parent 149f0f7eb4
commit ee3403b5ee
11 changed files with 80 additions and 75 deletions

View File

@ -225,7 +225,7 @@ Logical blks per chunk: 24576
Similarly to other bdevs, the FTL bdevs can be created either based on config files or via RPC. Both Similarly to other bdevs, the FTL bdevs can be created either based on config files or via RPC. Both
interfaces require the same arguments which are described by the `--help` option of the interfaces require the same arguments which are described by the `--help` option of the
`construct_ftl_bdev` RPC call, which are: `bdev_ftl_create` RPC call, which are:
- bdev's name - bdev's name
- transport type of the device (e.g. PCIe) - transport type of the device (e.g. PCIe)
- transport address of the device (e.g. `00:0a.0`) - transport address of the device (e.g. `00:0a.0`)
@ -248,12 +248,12 @@ The above will result in creation of two devices:
The same can be achieved with the following two RPC calls: The same can be achieved with the following two RPC calls:
``` ```
$ scripts/rpc.py construct_ftl_bdev -b nvme0 -l 0-3 -a 00:0a.0 $ scripts/rpc.py bdev_ftl_create -b nvme0 -l 0-3 -a 00:0a.0
{ {
"name": "nvme0", "name": "nvme0",
"uuid": "b4624a89-3174-476a-b9e5-5fd27d73e870" "uuid": "b4624a89-3174-476a-b9e5-5fd27d73e870"
} }
$ scripts/rpc.py construct_ftl_bdev -b nvme1 -l 0-3 -a 00:0a.0 -u e9825835-b03c-49d7-bc3e-5827cbde8a88 $ scripts/rpc.py bdev_ftl_create -b nvme1 -l 0-3 -a 00:0a.0 -u e9825835-b03c-49d7-bc3e-5827cbde8a88
{ {
"name": "nvme1", "name": "nvme1",
"uuid": "e9825835-b03c-49d7-bc3e-5827cbde8a88" "uuid": "e9825835-b03c-49d7-bc3e-5827cbde8a88"

View File

@ -297,8 +297,8 @@ Example response:
"bdev_null_create", "bdev_null_create",
"bdev_malloc_delete", "bdev_malloc_delete",
"bdev_malloc_create", "bdev_malloc_create",
"delete_ftl_bdev", "bdev_ftl_delete",
"construct_ftl_bdev", "bdev_ftl_create",
"bdev_lvol_get_lvstores", "bdev_lvol_get_lvstores",
"bdev_lvol_delete", "bdev_lvol_delete",
"bdev_lvol_resize", "bdev_lvol_resize",
@ -2005,7 +2005,7 @@ Example response:
} }
~~~ ~~~
## construct_ftl_bdev {#rpc_construct_ftl_bdev} ## bdev_ftl_create {#rpc_bdev_ftl_create}
Create FTL bdev. Create FTL bdev.
@ -2040,7 +2040,7 @@ Example request:
"uuid": "4a7481ce-786f-41a0-9b86-8f7465c8f4d3" "uuid": "4a7481ce-786f-41a0-9b86-8f7465c8f4d3"
}, },
"jsonrpc": "2.0", "jsonrpc": "2.0",
"method": "construct_ftl_bdev", "method": "bdev_ftl_create",
"id": 1 "id": 1
} }
~~~ ~~~
@ -2058,7 +2058,7 @@ Example response:
} }
~~~ ~~~
## delete_ftl_bdev {#rpc_delete_ftl_bdev} ## bdev_ftl_delete {#rpc_bdev_ftl_delete}
Delete FTL bdev. Delete FTL bdev.
@ -2080,7 +2080,7 @@ Example request:
"name": "nvme0" "name": "nvme0"
}, },
"jsonrpc": "2.0", "jsonrpc": "2.0",
"method": "delete_ftl_bdev", "method": "bdev_ftl_delete",
"id": 1 "id": 1
} }
~~~ ~~~

View File

@ -437,7 +437,7 @@ bdev_ftl_write_config_json(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_ftl_bdev"); spdk_json_write_named_string(w, "method", "bdev_ftl_create");
spdk_json_write_named_object_begin(w, "params"); spdk_json_write_named_object_begin(w, "params");
spdk_json_write_named_string(w, "name", ftl_bdev->bdev.name); spdk_json_write_named_string(w, "name", ftl_bdev->bdev.name);

View File

@ -39,7 +39,7 @@
#include "bdev_ftl.h" #include "bdev_ftl.h"
struct rpc_construct_ftl { struct rpc_bdev_ftl_create {
char *name; char *name;
char *trtype; char *trtype;
char *traddr; char *traddr;
@ -50,7 +50,7 @@ struct rpc_construct_ftl {
}; };
static void static void
free_rpc_construct_ftl(struct rpc_construct_ftl *req) free_rpc_bdev_ftl_create(struct rpc_bdev_ftl_create *req)
{ {
free(req->name); free(req->name);
free(req->trtype); free(req->trtype);
@ -60,65 +60,65 @@ free_rpc_construct_ftl(struct rpc_construct_ftl *req)
free(req->cache_bdev); free(req->cache_bdev);
} }
static const struct spdk_json_object_decoder rpc_construct_ftl_decoders[] = { static const struct spdk_json_object_decoder rpc_bdev_ftl_create_decoders[] = {
{"name", offsetof(struct rpc_construct_ftl, name), spdk_json_decode_string}, {"name", offsetof(struct rpc_bdev_ftl_create, name), spdk_json_decode_string},
{"trtype", offsetof(struct rpc_construct_ftl, trtype), spdk_json_decode_string}, {"trtype", offsetof(struct rpc_bdev_ftl_create, trtype), spdk_json_decode_string},
{"traddr", offsetof(struct rpc_construct_ftl, traddr), spdk_json_decode_string}, {"traddr", offsetof(struct rpc_bdev_ftl_create, traddr), spdk_json_decode_string},
{"punits", offsetof(struct rpc_construct_ftl, punits), spdk_json_decode_string}, {"punits", offsetof(struct rpc_bdev_ftl_create, punits), spdk_json_decode_string},
{"uuid", offsetof(struct rpc_construct_ftl, uuid), spdk_json_decode_string, true}, {"uuid", offsetof(struct rpc_bdev_ftl_create, uuid), spdk_json_decode_string, true},
{"cache", offsetof(struct rpc_construct_ftl, cache_bdev), spdk_json_decode_string, true}, {"cache", offsetof(struct rpc_bdev_ftl_create, cache_bdev), spdk_json_decode_string, true},
{ {
"allow_open_bands", offsetof(struct rpc_construct_ftl, ftl_conf) + "allow_open_bands", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
offsetof(struct spdk_ftl_conf, allow_open_bands), spdk_json_decode_bool, true offsetof(struct spdk_ftl_conf, allow_open_bands), spdk_json_decode_bool, true
}, },
{ {
"overprovisioning", offsetof(struct rpc_construct_ftl, ftl_conf) + "overprovisioning", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
offsetof(struct spdk_ftl_conf, lba_rsvd), spdk_json_decode_uint64, true offsetof(struct spdk_ftl_conf, lba_rsvd), spdk_json_decode_uint64, true
}, },
{ {
"limit_crit", offsetof(struct rpc_construct_ftl, ftl_conf) + "limit_crit", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_CRIT]) + offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_CRIT]) +
offsetof(struct spdk_ftl_limit, limit), offsetof(struct spdk_ftl_limit, limit),
spdk_json_decode_uint64, true spdk_json_decode_uint64, true
}, },
{ {
"limit_crit_threshold", offsetof(struct rpc_construct_ftl, ftl_conf) + "limit_crit_threshold", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_CRIT]) + offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_CRIT]) +
offsetof(struct spdk_ftl_limit, thld), offsetof(struct spdk_ftl_limit, thld),
spdk_json_decode_uint64, true spdk_json_decode_uint64, true
}, },
{ {
"limit_high", offsetof(struct rpc_construct_ftl, ftl_conf) + "limit_high", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_HIGH]) + offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_HIGH]) +
offsetof(struct spdk_ftl_limit, limit), offsetof(struct spdk_ftl_limit, limit),
spdk_json_decode_uint64, true spdk_json_decode_uint64, true
}, },
{ {
"limit_high_threshold", offsetof(struct rpc_construct_ftl, ftl_conf) + "limit_high_threshold", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_HIGH]) + offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_HIGH]) +
offsetof(struct spdk_ftl_limit, thld), offsetof(struct spdk_ftl_limit, thld),
spdk_json_decode_uint64, true spdk_json_decode_uint64, true
}, },
{ {
"limit_low", offsetof(struct rpc_construct_ftl, ftl_conf) + "limit_low", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_LOW]) + offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_LOW]) +
offsetof(struct spdk_ftl_limit, limit), offsetof(struct spdk_ftl_limit, limit),
spdk_json_decode_uint64, true spdk_json_decode_uint64, true
}, },
{ {
"limit_low_threshold", offsetof(struct rpc_construct_ftl, ftl_conf) + "limit_low_threshold", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_LOW]) + offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_LOW]) +
offsetof(struct spdk_ftl_limit, thld), offsetof(struct spdk_ftl_limit, thld),
spdk_json_decode_uint64, true spdk_json_decode_uint64, true
}, },
{ {
"limit_start", offsetof(struct rpc_construct_ftl, ftl_conf) + "limit_start", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_START]) + offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_START]) +
offsetof(struct spdk_ftl_limit, limit), offsetof(struct spdk_ftl_limit, limit),
spdk_json_decode_uint64, true spdk_json_decode_uint64, true
}, },
{ {
"limit_start_threshold", offsetof(struct rpc_construct_ftl, ftl_conf) + "limit_start_threshold", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_START]) + offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_START]) +
offsetof(struct spdk_ftl_limit, thld), offsetof(struct spdk_ftl_limit, thld),
spdk_json_decode_uint64, true spdk_json_decode_uint64, true
@ -128,7 +128,7 @@ static const struct spdk_json_object_decoder rpc_construct_ftl_decoders[] = {
#define FTL_RANGE_MAX_LENGTH 32 #define FTL_RANGE_MAX_LENGTH 32
static void static void
_spdk_rpc_construct_ftl_bdev_cb(const struct ftl_bdev_info *bdev_info, void *ctx, int status) _spdk_rpc_bdev_ftl_create_cb(const struct ftl_bdev_info *bdev_info, void *ctx, int status)
{ {
struct spdk_jsonrpc_request *request = ctx; struct spdk_jsonrpc_request *request = ctx;
char bdev_uuid[SPDK_UUID_STRING_LEN]; char bdev_uuid[SPDK_UUID_STRING_LEN];
@ -151,18 +151,18 @@ _spdk_rpc_construct_ftl_bdev_cb(const struct ftl_bdev_info *bdev_info, void *ctx
} }
static void static void
spdk_rpc_construct_ftl_bdev(struct spdk_jsonrpc_request *request, spdk_rpc_bdev_ftl_create(struct spdk_jsonrpc_request *request,
const struct spdk_json_val *params) const struct spdk_json_val *params)
{ {
struct rpc_construct_ftl req = {}; struct rpc_bdev_ftl_create req = {};
struct ftl_bdev_init_opts opts = {}; struct ftl_bdev_init_opts opts = {};
char range[FTL_RANGE_MAX_LENGTH]; char range[FTL_RANGE_MAX_LENGTH];
int rc; int rc;
spdk_ftl_conf_init_defaults(&req.ftl_conf); spdk_ftl_conf_init_defaults(&req.ftl_conf);
if (spdk_json_decode_object(params, rpc_construct_ftl_decoders, if (spdk_json_decode_object(params, rpc_bdev_ftl_create_decoders,
SPDK_COUNTOF(rpc_construct_ftl_decoders), SPDK_COUNTOF(rpc_bdev_ftl_create_decoders),
&req)) { &req)) {
spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS, spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS,
"Invalid parameters"); "Invalid parameters");
@ -220,7 +220,7 @@ spdk_rpc_construct_ftl_bdev(struct spdk_jsonrpc_request *request,
} }
} }
rc = bdev_ftl_init_bdev(&opts, _spdk_rpc_construct_ftl_bdev_cb, request); rc = bdev_ftl_init_bdev(&opts, _spdk_rpc_bdev_ftl_create_cb, request);
if (rc) { if (rc) {
spdk_jsonrpc_send_error_response_fmt(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR, spdk_jsonrpc_send_error_response_fmt(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
"Failed to create FTL bdev: %s", "Failed to create FTL bdev: %s",
@ -229,21 +229,22 @@ spdk_rpc_construct_ftl_bdev(struct spdk_jsonrpc_request *request,
} }
invalid: invalid:
free_rpc_construct_ftl(&req); free_rpc_bdev_ftl_create(&req);
} }
SPDK_RPC_REGISTER("construct_ftl_bdev", spdk_rpc_construct_ftl_bdev, SPDK_RPC_RUNTIME) SPDK_RPC_REGISTER("bdev_ftl_create", spdk_rpc_bdev_ftl_create, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_ftl_create, construct_ftl_bdev)
struct rpc_delete_ftl { struct rpc_delete_ftl {
char *name; char *name;
}; };
static const struct spdk_json_object_decoder rpc_delete_ftl_decoders[] = { static const struct spdk_json_object_decoder rpc_delete_ftl_decoders[] = {
{"name", offsetof(struct rpc_construct_ftl, name), spdk_json_decode_string}, {"name", offsetof(struct rpc_bdev_ftl_create, name), spdk_json_decode_string},
}; };
static void static void
_spdk_rpc_delete_ftl_bdev_cb(void *cb_arg, int bdeverrno) _spdk_rpc_bdev_ftl_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);
@ -253,7 +254,7 @@ _spdk_rpc_delete_ftl_bdev_cb(void *cb_arg, int bdeverrno)
} }
static void static void
spdk_rpc_delete_ftl_bdev(struct spdk_jsonrpc_request *request, spdk_rpc_bdev_ftl_delete(struct spdk_jsonrpc_request *request,
const struct spdk_json_val *params) const struct spdk_json_val *params)
{ {
struct rpc_delete_ftl attrs = {}; struct rpc_delete_ftl attrs = {};
@ -266,9 +267,10 @@ spdk_rpc_delete_ftl_bdev(struct spdk_jsonrpc_request *request,
goto invalid; goto invalid;
} }
bdev_ftl_delete_bdev(attrs.name, _spdk_rpc_delete_ftl_bdev_cb, request); bdev_ftl_delete_bdev(attrs.name, _spdk_rpc_bdev_ftl_delete_cb, request);
invalid: invalid:
free(attrs.name); free(attrs.name);
} }
SPDK_RPC_REGISTER("delete_ftl_bdev", spdk_rpc_delete_ftl_bdev, SPDK_RPC_RUNTIME) SPDK_RPC_REGISTER("bdev_ftl_delete", spdk_rpc_bdev_ftl_delete, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_ftl_delete, delete_ftl_bdev)

View File

@ -27,7 +27,7 @@ function create_json_config()
echo '"subsystem": "bdev",' echo '"subsystem": "bdev",'
echo '"config": [' echo '"config": ['
echo '{' echo '{'
echo '"method": "construct_ftl_bdev",' echo '"method": "bdev_ftl_create",'
echo '"params": {' echo '"params": {'
echo "\"name\": \"$2\"," echo "\"name\": \"$2\","
echo '"trtype": "PCIe",' echo '"trtype": "PCIe",'

View File

@ -1385,7 +1385,7 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
# ftl # ftl
ftl_valid_limits = ('crit', 'high', 'low', 'start') ftl_valid_limits = ('crit', 'high', 'low', 'start')
def construct_ftl_bdev(args): def bdev_ftl_create(args):
def parse_limits(limits, arg_dict, key_suffix=''): def parse_limits(limits, arg_dict, key_suffix=''):
for limit in limits.split(','): for limit in limits.split(','):
key, value = limit.split(':', 1) key, value = limit.split(':', 1)
@ -1401,18 +1401,18 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
if args.limit: if args.limit:
parse_limits(args.limit, arg_limits) parse_limits(args.limit, arg_limits)
print_dict(rpc.bdev.construct_ftl_bdev(args.client, print_dict(rpc.bdev.bdev_ftl_create(args.client,
name=args.name, name=args.name,
trtype=args.trtype, trtype=args.trtype,
traddr=args.traddr, traddr=args.traddr,
punits=args.punits, punits=args.punits,
uuid=args.uuid, uuid=args.uuid,
cache=args.cache, cache=args.cache,
allow_open_bands=args.allow_open_bands, allow_open_bands=args.allow_open_bands,
overprovisioning=args.overprovisioning, overprovisioning=args.overprovisioning,
**arg_limits)) **arg_limits))
p = subparsers.add_parser('construct_ftl_bdev', p = subparsers.add_parser('bdev_ftl_create', aliases=['construct_ftl_bdev'],
help='Add FTL bdev') help='Add FTL bdev')
p.add_argument('-b', '--name', help="Name of the bdev", required=True) p.add_argument('-b', '--name', help="Name of the bdev", required=True)
p.add_argument('-t', '--trtype', p.add_argument('-t', '--trtype',
@ -1435,14 +1435,15 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
' levels, e.g. crit:0,high:20,low:80') ' levels, e.g. crit:0,high:20,low:80')
limits.add_argument('--limit-threshold', help='Number of free bands triggering a given level of' limits.add_argument('--limit-threshold', help='Number of free bands triggering a given level of'
' write limiting e.g. crit:1,high:2,low:3,start:4') ' write limiting e.g. crit:1,high:2,low:3,start:4')
p.set_defaults(func=construct_ftl_bdev) p.set_defaults(func=bdev_ftl_create)
def delete_ftl_bdev(args): def bdev_ftl_delete(args):
print_dict(rpc.bdev.delete_ftl_bdev(args.client, name=args.name)) print_dict(rpc.bdev.bdev_ftl_delete(args.client, name=args.name))
p = subparsers.add_parser('delete_ftl_bdev', help='Delete FTL bdev') p = subparsers.add_parser('bdev_ftl_delete', aliases=['delete_ftl_bdev'],
help='Delete FTL bdev')
p.add_argument('-b', '--name', help="Name of the bdev", required=True) p.add_argument('-b', '--name', help="Name of the bdev", required=True)
p.set_defaults(func=delete_ftl_bdev) p.set_defaults(func=bdev_ftl_delete)
# vmd # vmd
def enable_vmd(args): def enable_vmd(args):

View File

@ -671,7 +671,8 @@ def destruct_split_vbdev(client, base_bdev):
return client.call('destruct_split_vbdev', params) return client.call('destruct_split_vbdev', params)
def construct_ftl_bdev(client, name, trtype, traddr, punits, **kwargs): @deprecated_alias('construct_ftl_bdev')
def bdev_ftl_create(client, name, trtype, traddr, punits, **kwargs):
"""Construct FTL bdev """Construct FTL bdev
Args: Args:
@ -689,10 +690,11 @@ def construct_ftl_bdev(client, name, trtype, traddr, punits, **kwargs):
if value is not None: if value is not None:
params[key] = value params[key] = value
return client.call('construct_ftl_bdev', params) return client.call('bdev_ftl_create', params)
def delete_ftl_bdev(client, name): @deprecated_alias('delete_ftl_bdev')
def bdev_ftl_delete(client, name):
"""Delete FTL bdev """Delete FTL bdev
Args: Args:
@ -700,7 +702,7 @@ def delete_ftl_bdev(client, name):
""" """
params = {'name': name} params = {'name': name}
return client.call('delete_ftl_bdev', params) return client.call('bdev_ftl_delete', params)
@deprecated_alias('get_bdevs') @deprecated_alias('get_bdevs')

View File

@ -25,7 +25,7 @@ restore_kill() {
rm -f $testdir/testfile.md5 rm -f $testdir/testfile.md5
rm -f $testdir/testfile2.md5 rm -f $testdir/testfile2.md5
$rpc_py delete_ftl_bdev -b nvme0 || true $rpc_py bdev_ftl_delete -b nvme0 || true
killprocess $svcpid || true killprocess $svcpid || true
rmmod nbd || true rmmod nbd || true
} }
@ -45,7 +45,7 @@ if [ -n "$nv_cache" ]; then
nvc_bdev=$(create_nv_cache_bdev nvc0 $device $nv_cache $pu_count) nvc_bdev=$(create_nv_cache_bdev nvc0 $device $nv_cache $pu_count)
fi fi
ftl_construct_args="construct_ftl_bdev -b nvme0 -a $device -l $pu_start-$pu_end -o" ftl_construct_args="bdev_ftl_create -b nvme0 -a $device -l $pu_start-$pu_end -o"
[ -n "$nvc_bdev" ] && ftl_construct_args+=" -c $nvc_bdev" [ -n "$nvc_bdev" ] && ftl_construct_args+=" -c $nvc_bdev"
[ -n "$uuid" ] && ftl_construct_args+=" -u $uuid" [ -n "$uuid" ] && ftl_construct_args+=" -u $uuid"

View File

@ -80,7 +80,7 @@ if [ $SPDK_TEST_FTL_EXTENDED -eq 1 ]; then
trap 'killprocess $svc_pid; exit 1' SIGINT SIGTERM EXIT trap 'killprocess $svc_pid; exit 1' SIGINT SIGTERM EXIT
waitforlisten $svc_pid waitforlisten $svc_pid
uuid=$($rpc_py construct_ftl_bdev -b nvme0 -a $device -l 0-3 | jq -r '.uuid') uuid=$($rpc_py bdev_ftl_create -b nvme0 -a $device -l 0-3 | jq -r '.uuid')
killprocess $svc_pid killprocess $svc_pid
trap - SIGINT SIGTERM EXIT trap - SIGINT SIGTERM EXIT

View File

@ -24,18 +24,18 @@ $rootdir/scripts/gen_ftl.sh -j -a $device -n nvme0 -l 0-1 | $rpc_py load_subsyst
uuid=$($rpc_py bdev_get_bdevs | jq -r '.[0].uuid') uuid=$($rpc_py bdev_get_bdevs | jq -r '.[0].uuid')
$rpc_py delete_ftl_bdev -b nvme0 $rpc_py bdev_ftl_delete -b nvme0
# Restore bdev from json configuration # Restore bdev from json configuration
$rootdir/scripts/gen_ftl.sh -j -a $device -n nvme0 -l 0-1 -u $uuid | $rpc_py load_subsystem_config $rootdir/scripts/gen_ftl.sh -j -a $device -n nvme0 -l 0-1 -u $uuid | $rpc_py load_subsystem_config
# Create new bdev from json configuration # Create new bdev from json configuration
$rootdir/scripts/gen_ftl.sh -j -a $device -n nvme1 -l 2-2 | $rpc_py load_subsystem_config $rootdir/scripts/gen_ftl.sh -j -a $device -n nvme1 -l 2-2 | $rpc_py load_subsystem_config
# Create new bdev from RPC # Create new bdev from RPC
$rpc_py construct_ftl_bdev -b nvme2 -a $device -l 3-3 $rpc_py bdev_ftl_create -b nvme2 -a $device -l 3-3
$rpc_py delete_ftl_bdev -b nvme2 $rpc_py bdev_ftl_delete -b nvme2
$rpc_py delete_ftl_bdev -b nvme0 $rpc_py bdev_ftl_delete -b nvme0
$rpc_py delete_ftl_bdev -b nvme1 $rpc_py bdev_ftl_delete -b nvme1
# TODO: add negative test cases # TODO: add negative test cases

View File

@ -30,7 +30,7 @@ restore_kill() {
rm -f $testdir/testfile2.md5 rm -f $testdir/testfile2.md5
rm -f $testdir/config/ftl.json rm -f $testdir/config/ftl.json
$rpc_py delete_ftl_bdev -b nvme0 $rpc_py bdev_ftl_delete -b nvme0
killprocess $svcpid killprocess $svcpid
rmmod nbd || true rmmod nbd || true
} }
@ -45,7 +45,7 @@ if [ -n "$nv_cache" ]; then
nvc_bdev=$(create_nv_cache_bdev nvc0 $device $nv_cache $(($pu_end - $pu_start + 1))) nvc_bdev=$(create_nv_cache_bdev nvc0 $device $nv_cache $(($pu_end - $pu_start + 1)))
fi fi
ftl_construct_args="construct_ftl_bdev -b nvme0 -a $device -l ${pu_start}-${pu_end}" ftl_construct_args="bdev_ftl_create -b nvme0 -a $device -l ${pu_start}-${pu_end}"
[ -n "$uuid" ] && ftl_construct_args+=" -u $uuid" [ -n "$uuid" ] && ftl_construct_args+=" -u $uuid"
[ -n "$nv_cache" ] && ftl_construct_args+=" -c $nvc_bdev" [ -n "$nv_cache" ] && ftl_construct_args+=" -c $nvc_bdev"