KF> 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.

 KF> Hi Alex.

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

Reiserfs does not write entire directory, only blocks
contain modified data.

 KF> I was
 KF> hoping it would be possible to make it run a bit faster.
 KF> I hope this wasn't all too obvious from the mail you sent, but I couldn't
 KF> make it out. :-)

 KF> Ketil

-- 
Thanks,
Alex.

Reply via email to