Re: tune2fs -l stale info

2007-04-03 Thread Vincent Caron
On jeu, 2007-03-29 at 13:59 -0600, Andreas Dilger wrote:
 On Mar 29, 2007  14:17 +0200, Vincent Caron wrote:
I just noticed that 'tune2fs -l' did not returned a lively updated
  information regarding the free inodes count (looks like it's always
  correct after unmounting).
 
 This is a bit of a defect in all 2.6 kernels.  They never update the
 on disk superblock free blocks/inodes information to avoid lock contention,
 even if this info is available.

  It turns out it is okay in my case since 'df -i' reports correct
numbers.

 Can you please give the following patch a try?  It fixes this issue,
 and also makes statfs MUCH more efficient for large filesystems, because
 the filesystem overhead is constant unless the filesystem size changes
 and checking that for 16k groups is slow (hence hack to add cond_resched()
 instead of fixing problem correctly).  It has not been tested much, but
 is very straight forward.
 
 Only the last part is strictly necessary to fix your particular problem
 (setting of es-s_free_inodes_count and es-s_free_blocks_count).  This
 is lazy, in the sense that you need a statfs to update the count, and
 then a truncate or unlink or rmdir in order to dirty the superblock to
 flush it to disk.  However, it will be correct in the buffer cache, and
 it is a lot better than what we have now.  We don't want a non-lazy version
 anyways, because of performance.

  Unfortunately the problem shows on a production machine and I don't
have a similar one to test properly (it's a heavy-loaded filer).

  BTW, if ondisk superblocks are not updated until specific events occur
(umount, statfs), what is the consequence of a system crash ? Does
journalization come into play (superblock=metadata?), does fsck fixes
figures from other ondisk structures ? Just being curious...

-
To unsubscribe from this list: send the line unsubscribe linux-ext4 in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: tune2fs -l stale info

2007-04-03 Thread Andreas Dilger
On Apr 03, 2007  15:55 +0200, Vincent Caron wrote:
   BTW, if ondisk superblocks are not updated until specific events occur
 (umount, statfs), what is the consequence of a system crash ? Does
 journalization come into play (superblock=metadata?), does fsck fixes
 figures from other ondisk structures ? Just being curious...

The free blocks/inodes count in the superblock aren't really used for
anything these days.  At mount time the kernel sums up the free inode
and block counts from the group descriptors to put into the percpu
counters, and only the group descriptors are kept uptodate.

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.

-
To unsubscribe from this list: send the line unsubscribe linux-ext4 in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html