[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH v2 0/6] Unikraft Block API
Introduces the Unikraft Block API, that acts as a generalized interface between block drivers and filesystems implementations (or low-level block applications). Using the function definitions in blkdev_core.h, the driver should include blkdev_driver, implement the functions in uk_blkdev_ops and fill some fields from uk_blkdev. The user-facing part of the API is in blkdev.h. The layer above can use these functions to configure block devices, as well as send and receive sector-wide requests. The read/write/flush operations abstraction is defined in blkreq.h. Requests can be asynchronous or synchronous and the user must set a proper callback for each async operation. The API has multi-queue support and event dispatching support as well, which is configurable with or without bottom-half threads. Changes from v1: - Queue reference instead of queue_id parameter for callback functions. - Changed naming and data types of some variables. Roxana Nicolescu (6): lib/ukblkdev: Blkdev Library skeleton. lib/ukblkdev: Blkdev registration lib/ukblkdev: Blkdev initialization lib/ukblkdev: Request interface lib/ukblkdev: Synchronous requests interface lib/ukblkdev: Stop and release an Unikraft block device lib/Config.uk | 1 + lib/Makefile.uk | 1 + lib/ukblkdev/Config.uk | 37 +++ lib/ukblkdev/Makefile.uk | 6 + lib/ukblkdev/blkdev.c | 558 ++++++++++++++++++++++++++++++++ lib/ukblkdev/exportsyms.uk | 30 ++ lib/ukblkdev/include/uk/blkdev.h | 509 +++++++++++++++++++++++++++++ lib/ukblkdev/include/uk/blkdev_core.h | 309 ++++++++++++++++++ lib/ukblkdev/include/uk/blkdev_driver.h | 113 +++++++ lib/ukblkdev/include/uk/blkreq.h | 148 +++++++++ 10 files changed, 1712 insertions(+) create mode 100644 lib/ukblkdev/Config.uk create mode 100644 lib/ukblkdev/Makefile.uk create mode 100644 lib/ukblkdev/blkdev.c create mode 100644 lib/ukblkdev/exportsyms.uk create mode 100644 lib/ukblkdev/include/uk/blkdev.h create mode 100644 lib/ukblkdev/include/uk/blkdev_core.h create mode 100644 lib/ukblkdev/include/uk/blkdev_driver.h create mode 100644 lib/ukblkdev/include/uk/blkreq.h -- 2.11.0 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |