On Mon, 1 Aug 2011, Gregory Farnum wrote: > On Mon, Aug 1, 2011 at 8:23 AM, Yehuda Sadeh Weinraub > <yehuda.sadeh@xxxxxxxxxxxxx> wrote: > > The osd first sends the ack when it receives the request > > Actually it sends an ack when the request is applied in-memory to all > the up OSDs in the PG. :) That was the original intent, at least. More precisely.. * ACK means the request is in the page/buffer cache on all replicas * COMMIT means the request is on stable storage on all replicas * COMMIT implies ACK. With a non-btrfs fs (ext4, etc.), however, the OSD is doing writeahead journaling, in which means the commit happens before the write is applies to the fs, and clients just get COMMIT (which implies ACK). The OSD has internal locking to ensure that behavior is consistent from the client's perspective. That is, after getting a COMMIT, any subsequent read will return the new data (even if the read request has to wait on the OSD to be applied to the fs). This should go in the wiki too... sage -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html