Hi,
I guess you’re running XFS? I’m going through code and reading up on the specific sync behaviour of the journal. I noticed in an XFS comment that various levels of SYNC might behave differently whether you’re going to access a raw device or a file on i.e. XFS.
Having read up on the parts that I stumbled over in XFS versus DSYNC it’s quite simple, I think: on a raw device O_DIRECT | O_DSYNC does the obvious thing (direct, synchronuous IO). When adding a filesystem then that needs to do extra work for handling data/metadata ordering properly and XFS had had it’s share of changes to that over time. I think that means: nothing to see here, move on - the journal should have (almost) the same performance properties on an XFS file as a raw (lvm) device. Obviously modulo possible strange behaviour if XFS should get it wrong and with the additional FS layer. As we generally trust XFS of doing the right thing (did I mention it killed our cluster in the 4.1->4.1 upgrade path?) then I would expect O_DIRECT | O_DSYNC in XFS gets as close to the characteristics you get on a raw device as possible.
I guess your experience and you using a file as journal validates that.
Back to running tests …
Christian
-- Christian Theune · ct@xxxxxxxxxxxxxxx · +49 345 219401 0 Flying Circus Internet Operations GmbH · http://flyingcircus.ioForsterstraße 29 · 06112 Halle (Saale) · Deutschland HR Stendal HRB 21169 · Geschäftsführer: Christian. Theune, Christian. Zagrodnick
|
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com