Hello On Monday 26 March 2007 22:12, Lin Shen (lshen) wrote: > I'm using iostat to measure disk reads/writes associated with various > file operations under Reiser. One thing I noticed and can't explain is > that every sync() call by itself (not following a write or anything) > will cause an I/O write. Any ideas? >
The I/O write is performed by reiserfs implementation of sync_fs method of struct super_operations. If filesystem is mounted r/w - reiserfs_sync_fs begins a transaction (or joins an existing one), journal super block if the transaction has zero length, closes the transaction and flushes old transactions including the one which was just closed. So, if there were no transaction to flush before sync() - one transaction of length 1 gets created, closed, committed and flushed. 5 blocks get written to disk in this case. My calculation can be wrong, though. How much I/O do you notice? > Lin > >