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>