[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT PATCH 0/6] Unikraft Block API



Hi Roxana,

thanks a lot for this patch series. As far as I tested it, it works well. It is really good that your API follows the `libuknetdev` principles and design. I have just a few minor comments that I added inline to the particular patches. The architectural design is perfect. The comments are mainly about naming and used datatypes. Thanks a lot for your work!

Thanks,

Simon

On 29.05.19 10:32, Roxana Nicolescu wrote:
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.

Roxana Nicolescu (6):
   lib/ukblkdev: Blkdev Library skeleton.
   lib/ukblkdev: Blkdev registration
   lib/ukblkdev: Blkdev initialization
   lib/ukblkdev: Request interface
   lib/ukblkdev: Synchronous operations
   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                   | 554 ++++++++++++++++++++++++++++++++
  lib/ukblkdev/exportsyms.uk              |  28 ++
  lib/ukblkdev/include/uk/blkdev.h        | 506 +++++++++++++++++++++++++++++
  lib/ukblkdev/include/uk/blkdev_core.h   | 309 ++++++++++++++++++
  lib/ukblkdev/include/uk/blkdev_driver.h | 116 +++++++
  lib/ukblkdev/include/uk/blkreq.h        | 110 +++++++
  10 files changed, 1668 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


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.