[Sheepdog] [PATCH] sheep: unify create_and_write logic for cow and regular object

Christoph Hellwig hch at infradead.org
Wed Nov 16 09:33:42 CET 2011


On Wed, Nov 16, 2011 at 04:24:18PM +0800, Liu Yuan wrote:
> >>> With the current O_SYNC I/O model it at least means an additional log
> >>> force, which on disks will be very noticeable.  So unless you really
> >>> see a difference in I/O patterns don't do it.
> >>>
> >>
> >>
> >> After a second thought, if we use DIO later, so this might not stand.
> > 
> > I can't really parse this sentence, can you explain it in a bit more
> > detail?
> > 
> 
> 
> Sorry for my English. I meant if we later use Direct IO for store object
> later, it doesn't necessarily means a force commit.

I mean we'd need to force the commit during falloc, given that it is
logically equivalent to an apending write of zeroes.

But we'll actually need to it for the later write, too.  There we do
an unwritten extent conversion, which update metadata (the block map
btree), and thus has metadata that the O_DSYNC write, direct or not,
needs to commit before returning to userspace.




More information about the sheepdog mailing list