From nobody Thu Nov 10 02:31:22 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4N75SD561zz4dB2d; Thu, 10 Nov 2022 02:31:24 +0000 (UTC) (envelope-from gjb@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4N75SD3Vhzz3vTT; Thu, 10 Nov 2022 02:31:24 +0000 (UTC) (envelope-from gjb@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1668047484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=T6gewdwi+lRQUPU0R35nQcUdKSfrtN9lCvhnzzavgcU=; b=wdyIDN5zeOkJB00Td1ETmdrNhqoLWbVtPfEbrJDaHeupxJkF3R1o41NU7SPU+l4xHxRvzG tfnNIAwmiYPKC86DftAEww4xyzgUH56IcqOHbz5pi4AeU+3kl+n+YuaPrMzkGfeSq9W6ZM WqztQ48hO33/R65l6riX5kqQiJdlK/6Eic/3dIEDe9Z+7XYb3EiXFFxKAugz/OwzydqyBe /r2fd+1+sjtqQluXLD32iX244j/fXpdGreF6sQdUyZQj7IwpoEO/dlklEtDCW25TCRkvg0 Hd0rzM/NbRtJ+tylxNI7I/ttoAtbXu4InwBbAdv3x2eQrd/O2rDusMMHnwGNqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1668047484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=T6gewdwi+lRQUPU0R35nQcUdKSfrtN9lCvhnzzavgcU=; b=woZGntr3K2+tqWoL2XV2V4bSKdmS1wC7Ps583YfYQSoskE8We6DZqCKDLesfFr9601mbSD HcQ/R76iL4GmVlJ6RQ+WZ564AhtPfrBepFPrJdbpATk4O8O8YNZf5XsDmM4lfMAcoxjHvs tVY3csh/tNJUm8ttYOpJx4Gy2q6NfTnuqY9LBdNjOkL+QY4xguFiCPWkpu79vLO3eboHkr 6ATBmDUDhwA3O8Ohar8yA3peJ1nShpW4N7aS2quwXOHnR0EewVVfm4yt8Wrc3a23vQpx4r LvQI9tknptzNWLtPVgIQuHqGA6c4SB1FwZiC6RPebXa2lkw1vxbFwJa2UFbAlg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1668047484; a=rsa-sha256; cv=none; b=R/g2pN6orEIxVtD1SRSD5l0J7gD9DROoGSzxG1II7bBYIRk7KU9oGgb8eJ9PfIe9/Ampdr 40csEJWMlu7UJwfwUcVLWkKtMX9Ceb86gMDJpOO1RpcGt/3tEOKy1XuRBWpki3P7Y6Lkms S87YPD+uH9/6wa4pE4H3x152GA+sagSv/30W5a/EUptndZzdGhuN7d2FxHhCoAfkYTAfOI rV1QO1+RsEOzzas2wjhpHUQV6ZyegWvPF/eLDIy5FOfVsS4cKDOh16tfHRVHx8lodhkqZ5 Cq06gwGXgvltFavshE/Lc2I7Rh4IP9IjY4oRfqnlsATxF6lWKmG9pL1Xg30y0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from FreeBSD.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id 26548D7D1; Thu, 10 Nov 2022 02:31:24 +0000 (UTC) (envelope-from gjb@freebsd.org) Date: Thu, 10 Nov 2022 02:31:22 +0000 From: Glen Barber To: Kirk McKusick Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 460ed6106cf0 - main - Add support for managing UFS/FFS snapshots to fsck_ffs(8). Message-ID: <20221110023122.GC52121@FreeBSD.org> References: <202211091846.2A9IkpA1013071@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="JgQwtEuHJzHdouWu" Content-Disposition: inline In-Reply-To: <202211091846.2A9IkpA1013071@gitrepo.freebsd.org> X-ThisMailContainsUnwantedMimeParts: N --JgQwtEuHJzHdouWu Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Nov 09, 2022 at 06:46:51PM +0000, Kirk McKusick wrote: > The branch main has been updated by mckusick: >=20 > URL: https://cgit.FreeBSD.org/src/commit/?id=3D460ed6106cf0854caff62e4eeb= a8ffcd00ab0690 >=20 > commit 460ed6106cf0854caff62e4eeba8ffcd00ab0690 > Author: Kirk McKusick > AuthorDate: 2022-11-09 18:44:03 +0000 > Commit: Kirk McKusick > CommitDate: 2022-11-09 18:46:31 +0000 >=20 > Add support for managing UFS/FFS snapshots to fsck_ffs(8). > =20 > The kernel handles the managment of UFS/FFS snapshots. Since UFS/FFS > updates filesystem data (rather than always writing changes to new > locations like ZFS), the kernel must check every filesystem write > to see if the block being written is part of a snapshot. If it is > part of a snapshot, then the kernel must make a copy of the old > block value into a newly allocated block for the snapshot before > allowing the write to be done. Similarly, if a block is being freed, > the kernel must check to see if it is part of a snapshot and let > the snapshot claim the block rather than freeing it for future use. > When a snapshot is freed, its blocks need to be offered to older > snapshots and freed only if no older snapshots wish to claim them. > =20 > When snapshots were added to UFS/FFS they were integrated into soft > updates and just a small part of the management of snapshots needed > to be added to fsck_ffs(8) as soft updates minimized the set of > snapshot changes that might need correction. When journaling was > added to soft updates a much more complete knowledge of snapshots > needed to be added to fsck_ffs(8) for it to be able to properly > handle the filesystem changes that a journal rollback needs to do > (specifically the freeing and allocation of blocks). Since this > functionality was unavailable, the use of snapshots was disabled > when running with journaled soft updates. > =20 > This set of changes imports the kernel code for the management of > snapshots to fsck_ffs(8). With this code in place it will become > possible to enable snapshots when running with journalled soft > updates. The most immediate benefit will be the ability to use > snapshots to take consistent filesystem dumps on live filesystems. > Future work will be done to update fsck_ffs(8) to be able to use > snapshots to run in background on live filesystems running with > journaled soft updates. > =20 I think this broke the main build. Notably: % @@ -483,11 +507,38 @@ flush(int fd, struct bufarea *bp) % } % /* FALLTHROUGH */ % default: % + copyonwrite(&sblock, bp, std_checkblkavail); % blwrite(fd, bp->b_un.b_buf, bp->b_bno, bp->b_size); % break; https://ci.freebsd.org/job/FreeBSD-main-i386-build/24590/console Glen --JgQwtEuHJzHdouWu Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEjRJAPC5sqwhs9k2jAxRYpUeP4pMFAmNsYnMACgkQAxRYpUeP 4pNo/g//WG+ZugkV/cjjtGh5P7M9F5QBHNXTbNOOru6k9CYL+/H1wwaje1nQbemO 33bbkB+1IpEHaJ1mqM1Ch3OYleFYFFJN7pujjbPLg/M23x7AHjMvB3NLjVjr7pxp Vxch7DC6VFNooBDI5N9QOUHx3XKCRAej6lar3zu+JPsdDfss2qBds8lrxGEW/RRy 0Xt/8yVPFVPpyRBH+ORFJL4cbki5KDWmPf4bo5mtQEOzZl9kQMhQqHqm29X6yHS2 8ubB2iZkP0HRDgoynm1woZDg18JtV5RisQrZmvvwWc16olTM+emqURmGC8zk2fJy nVLEJn/SCED0KBUkGQrw302EsHxG+6QItUnvH2Vd0VDTlbai/QGN7NEbmRwkOLmB 5rxzOo7kReZq0E9DmYGBTIf1tf4iMVRSTmTIO3OZsFP/w9nruPcRMcfYT4cXJS+n A8Jo9+Dq9LasfEiOs/19ahHFxlhSUtKzoYKhbbKwvA1cikW+zthyIRW+Tw7BO1KF hwDkkCqa5COQc2vQPCsWLjkD/Q4vJ4tkOEDqBene7YehU4A+j9xfIJKWXNIGb6iJ +kbNQG94m5+uwwxo6GXi3FBKHuWPNo/v3yBKte6KgDyUe13je0ylFvEEZ2mUXkrD HrSa0z8zWwIK/ReVzwDgjEC+Z0kjBenRK7KiH5EqHkqRU6HAQtc= =cXyw -----END PGP SIGNATURE----- --JgQwtEuHJzHdouWu--