From: Jeff D. <jd...@ad...> - 2005-09-21 21:28:42
|
On Wed, Sep 21, 2005 at 09:06:38PM +0200, Blaisorblade wrote: > The block layer is supposed to merge as far as possible overlapping writes, > that's reasonable, but not dependable. Say it gets the overlapping request > *after* it sent the first one - we'll see both. Also, this is trivially true > for output done through page cache, but for the rest I don't know if explicit > merging is implemented. Yeah, I'm concerned about O_DIRECT. Also, what happens when we write a page to disk, and immediately afterwards, it gets dirty again and written again? Is there a barrier between the two? > No, I was thinking to you enforcing ordering to comply to what journaled > filesystems expect. Yeah, but there's more ordering than that. > Btw: even when we aren't using COW, we're supposed to do writes in the order > the fs passed them to us - at least when write barriers are explicitly sent > (don't know if there's something to care normally - I know this as a LWN.net > reader, not as an hacker in this area). We get requests from the block layer, not the fs. And physical disks are allowed to reorder requests, so I think there is some flexibility there. Jeff |