On Mon, 30 Jul 2001, Alexander Zarochentcev wrote:

> As you see reiserfs_dir_fsync does transaction commit and waits until
> it is done. In short, all modified metadata blocks are being written
> to disk.
>
> Reiserfs works fast if can join many logical transactions into one and
> commit that huge transaction once. If reiserfs does many commits
> (application often calls dir_fsync, for example) for small
> transactions it slows reiserfs.

Hi Alex.

Thanks for your reply. My understanding of how this works is getting a bit
better now :) But I need to acknowledge one small file written to disk at
a time, sort of like in a mail system. Since I need to guarantee that the
file is there, metadata and data, I fsync(tmpfile), rename(tmpfile,file)
and fsync(dir) for every file, I was wondering if the entire directory is
written every time, or perhaps just the one block that contains the
difference from last time, if it is possible to separate this out. I was
hoping it would be possible to make it run a bit faster.

I hope this wasn't all too obvious from the mail you sent, but I couldn't
make it out. :-)

Ketil


Reply via email to