Commit 7abb7cb8 authored by Jim Harris's avatar Jim Harris
Browse files

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: default avatarJim Harris <james.r.harris@intel.com>
Change-Id: I9e15f9dc0fa4e02214f188f987f9da2dbc8db1f7

Reviewed-on: https://review.gerrithub.io/369042


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: default avatarZiye Yang <optimistyzy@gmail.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent 5533c3d2
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -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) 				\
	{                                                           				\
+2 −2
Original line number Diff line number Diff line
@@ -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);
		}
	}
}
+2 −2
Original line number Diff line number Diff line
@@ -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)