From 7a660b30a42e4037070b0228ae6ac382bfad44c4 Mon Sep 17 00:00:00 2001 From: Monica Kenguva Date: Tue, 21 Jul 2020 20:08:24 +0000 Subject: [PATCH] doc: bdev module path and external bdev info update Signed-off-by: Monica Kenguva Change-Id: I78ec57d7c0105f5c16261342ddce1294c1a9a2d8 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3468 Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Shuhei Matsumoto --- doc/bdev_module.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/doc/bdev_module.md b/doc/bdev_module.md index f6c5392cc..191a1cf53 100644 --- a/doc/bdev_module.md +++ b/doc/bdev_module.md @@ -18,7 +18,7 @@ how to write a module. ## Creating A New Module -Block device modules are located in subdirectories under lib/bdev today. It is not +Block device modules are located in subdirectories under module/bdev today. It is not currently possible to place the code for a bdev module elsewhere, but updates to the build system could be made to enable this in the future. To create a module, add a new directory with a single C file and a Makefile. A great @@ -137,6 +137,15 @@ block device. Once the I/O request is completed, the module must call spdk_bdev_io_complete(). The I/O does not have to finish within the calling context of `submit_request`. +Integrating a new bdev module into the build system requires updates to various +files in the /mk directory. + +## Creating Bdevs in an External Repository + +A User can build their own bdev module and application on top of existing SPDK libraries. The example in +test/external_code serves as a template for creating, building and linking an external +bdev module. Refer to test/external_code/README.md and @ref so_linking for further information. + ## Creating Virtual Bdevs Block devices are considered virtual if they handle I/O requests by routing