[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH v3 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 since v2: - Added comments to functions. - Changed naming and data types of some variables. - Changed return type from void to int to forward errors. 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/Makefile.uk | 1 + lib/ukblkdev/Config.uk | 37 ++ lib/ukblkdev/Makefile.uk | 6 + lib/ukblkdev/blkdev.c | 569 ++++++++++++++++++++++++ lib/ukblkdev/exportsyms.uk | 18 + lib/ukblkdev/include/uk/blkdev.h | 523 ++++++++++++++++++++++ lib/ukblkdev/include/uk/blkdev_core.h | 310 +++++++++++++ lib/ukblkdev/include/uk/blkdev_driver.h | 122 +++++ lib/ukblkdev/include/uk/blkreq.h | 152 +++++++ 9 files changed, 1738 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.17.1 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |