On Oct 29, 2008, at 6:57 PM, David Young wrote:
On Wed, Oct 29, 2008 at 05:51:09PM -0400, Thor Lancelot Simon wrote:I'd like to propose a new buffer flag, B_ARRIER. This flag would be defined to cause a write barrier at whatever I/O request carries it.Thor, I have two questions about this. How can a disk driver re-order B_BARRIER blocks with respect to otherblocks on its queue? I.e., can a driver ever postpone writing a B_BARRIERblock until after it writes some !B_BARRIER blocks?
We've actually been down this path before. I had a private tree years ago that included B_BARRIER support in both the disk queue code and passed it down the scsipi layer to be turned into ordered tags. The only logical implementation is one that honors B_BARRER at all layers where queueing happens.
-- thorpej