bdev: change bdev_registered to examine

This eliminates overloading of the term "register"
in the context of bdevs, as well as opens up the
idea of examining bdevs not just when they are
registered, but also after they are closed with
write access.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I9e15f9dc0fa4e02214f188f987f9da2dbc8db1f7

Reviewed-on: https://review.gerrithub.io/369042
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ziye Yang <optimistyzy@gmail.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Jim Harris 2017-07-11 00:04:40 -07:00
parent 5533c3d208
commit 7abb7cb83e
3 changed files with 9 additions and 9 deletions

View File

@ -113,11 +113,11 @@ struct spdk_bdev_module_if {
int (*get_ctx_size)(void);
/**
* Notification that a bdev has been registered.
* Virtual bdev modules may use this to inspect the newly-added bdev and automatically
* Notification that a bdev should be examined by a virtual bdev module.
* Virtual bdev modules may use this to examine newly-added bdevs and automatically
* create their own vbdevs.
*/
void (*bdev_registered)(struct spdk_bdev *bdev);
void (*examine)(struct spdk_bdev *bdev);
TAILQ_ENTRY(spdk_bdev_module_if) tailq;
};
@ -441,14 +441,14 @@ spdk_bdev_io_from_ctx(void *ctx)
spdk_bdev_module_list_add(&_name ## _if); \
}
#define SPDK_VBDEV_MODULE_REGISTER(_name, init_fn, fini_fn, config_fn, ctx_size_fn, registered_fn)\
#define SPDK_VBDEV_MODULE_REGISTER(_name, init_fn, fini_fn, config_fn, ctx_size_fn, examine_fn)\
static struct spdk_bdev_module_if _name ## _if = { \
.name = #_name, \
.module_init = init_fn, \
.module_fini = fini_fn, \
.config_text = config_fn, \
.get_ctx_size = ctx_size_fn, \
.bdev_registered = registered_fn, \
.examine = examine_fn, \
}; \
__attribute__((constructor)) static void _name ## _init(void) \
{ \

View File

@ -1384,8 +1384,8 @@ _spdk_bdev_register(struct spdk_bdev *bdev)
TAILQ_INSERT_TAIL(&g_bdev_mgr.bdevs, bdev, link);
TAILQ_FOREACH(vbdev_module, &g_bdev_mgr.vbdev_modules, tailq) {
if (vbdev_module->bdev_registered) {
vbdev_module->bdev_registered(bdev);
if (vbdev_module->examine) {
vbdev_module->examine(bdev);
}
}
}

View File

@ -520,7 +520,7 @@ vbdev_gpt_fini(void)
}
static void
vbdev_gpt_register(struct spdk_bdev *bdev)
vbdev_gpt_examine(struct spdk_bdev *bdev)
{
if (g_gpt_disabled) {
return;
@ -542,5 +542,5 @@ vbdev_gpt_get_ctx_size(void)
}
SPDK_VBDEV_MODULE_REGISTER(gpt, vbdev_gpt_init, vbdev_gpt_fini, NULL,
vbdev_gpt_get_ctx_size, vbdev_gpt_register)
vbdev_gpt_get_ctx_size, vbdev_gpt_examine)
SPDK_LOG_REGISTER_TRACE_FLAG("vbdev_gpt", SPDK_TRACE_VBDEV_GPT)