[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Shouldn't backend devices for VMX domain disks be opened with O_DIRECT?
Stephen Tweedie wrote: Hi, On Thu, 2006-02-02 at 18:09 -0600, Anthony Liguori wrote:Referring to the original question, which has been quoted away, journaling doesn't require that data be written to disk per-say but that writes occur in a particular order. A journal is always recoverable given that writes occur in the expected order.Sure... it's *internally* consistent, maybe. But you need more than that. You need guarantees that things are on disk, else external consistency guarantees will be broken. Ok, this is certainly correct (but not the original point). Consider things like sendmail fsync()ing a spool file before telling the sender that the email has been accepted. After that acknowledgement, the sender can delete the mail from its queues knowing that the recipient MTA definitely has the data, and even if it crashes, the mail won't be lost. Databases frequently have similar consistency requirements. If a power failure loses writes that you have told the domU have completed --- even if you maintain write ordering --- then you *are* putting application correctness at risk, there's no doubt about it. Ok, this is a good argument for using O_SYNC. Yup, the question here is with the device model which doesn't use the block frontend/backend. Would O_DIRECT be helpful over O_SYNC?Fortunately, that's just what blkback is doing --- it's using submit_bio to submit the write IOs without waiting for completion, and is using the bio's bi_end_io callback to process the IO completion once it is hard ondisk. Regards, Anthony Liguori --Stephen _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |