Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Feb 2005 00:00:04 +0800
From:      Xin LI <delphij@frontfree.net>
To:        freebsd-fs@FreeBSD.org
Subject:   SoftUpdates's softdep_mount: Why do we need to recompute the superblock summary when bgfsck is there?
Message-ID:  <20050212160004.GA94520@frontfree.net>

next in thread | raw e-mail | index | archive | help

--cWoXeonUoKmBZSoM
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi,

When a FFS is SoftUpdates enabled and was incorrectly dismounted,
the mount process will recompute the superblock summary
(fs->fs_cstotal) by traversing every cylinder group and accumulate
the summary.

While this approach will guarantee the correctness of the summary,
it can lead to a painful latency of mount() when the volume is
very big.  With background fsck, I think this can be splited off
the softdep_mount() call with the following background fsck process:

	- When mounting the file system, and when we know that
	  background fsck *would* be run, we skip the recomputation
	  process.  (recompute only if no background fsck can be
	  run, or is explicitly specified)
	- During pass5 of fsck_ffs, the newly generated cstotal is
	  then computed as deltas against the original snapshot's
	  summary.  Then, apply the delta to the current number.
	- Maintain the superblock summary by sync'ing it
	  periodically, so it won't lag behind too much upon
	  a crash.

Would this improve the situation?

Cheers,
--=20
Xin LI <delphij frontfree net>	http://www.delphij.net/
See complete headers for GPG key and other information.


--cWoXeonUoKmBZSoM
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (FreeBSD)

iD8DBQFCDigE/cVsHxFZiIoRAkDDAJ9b0yY4D13Lod9y94tSoRcVi6TQVwCfT0mN
zwSx4WMZKZ2hDIbxHnbDc1Y=
=G+LS
-----END PGP SIGNATURE-----

--cWoXeonUoKmBZSoM--


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050212160004.GA94520>