I saw 32 blocks by calling sync() alone.

Lin

> -----Original Message-----
> From: Vladimir V. Saveliev [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, March 27, 2007 1:00 AM
> To: Lin Shen (lshen)
> Cc: [email protected]
> Subject: Re: Why reiser does a disk write on every sync() call?
> 
> 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
> > 
> > 
> 

Reply via email to