All of lore.kernel.org
 help / color / mirror / Atom feed
* [SPDK] Question on How to Ensure Read-Write Ordering
@ 2021-02-09 10:09 fandahao17
  0 siblings, 0 replies; only message in thread
From: fandahao17 @ 2021-02-09 10:09 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 1019 bytes --]

Hi, there!

I have a question regarding how read-write ordering is ensured in SPDK's Blobstore. As I understand, the Blobstore interface offers a filesystem-like interface, which I think would guarantee all writes are seen by subsequent reads, even though these reads are submitted before the write completes.

However, when I go through the code I found Blobstore seems to directly send the requests to the bdev layer, which asks the NVMe driver to issue the request to the SSD. AFAIK, the NVMe controller doesn't guarantee command ordering (NVMe spec says, "if a Read is submitted for LBA x and there is a Write also submitted for LBA x, there is no guarantee of the order of completion for those commands, the Read may finish first or the Write may finish first").

I wonder how Blobstore ensures all writes are seen by subsequent reads? If Blobstore doesn't provide such guarantee, what is the usual way to ensure the ordering?

Thanks!

Regards,
JInhao Fan
University of Science and Technology of China

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-02-09 10:09 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-09 10:09 [SPDK] Question on How to Ensure Read-Write Ordering fandahao17

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.