On Wednesday 21 September 2005 22:45, Jeff Dike wrote: > 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. I expect the FS to send the barriers - they don't make sense otherwise.
In fact, grep -i barrier fs/jbd/*.c gives some results, which point to BH_Ordered. And after grepping it in reiserfs, I found that fs/buffer.c:submit_bh() cares about it (i.e. looks at the buffer head and sees if it is ordered), and sends it down to the elevator. -- Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894) http://www.user-mode-linux.org/~blaisorblade ___________________________________ Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB http://mail.yahoo.it ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ User-mode-linux-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
