Date: Sat, 21 Mar 2026 07:22:09 +0000 From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav <des@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: b1f72dd2a9a5 - main - tunefs: Don't combine GEOM journaling with SU Message-ID: <69be4721.3e981.44b094b0@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b1f72dd2a9a5e69a310b9e76b55f16cff433b8da commit b1f72dd2a9a5e69a310b9e76b55f16cff433b8da Author: Dag-Erling Smørgrav <des@FreeBSD.org> AuthorDate: 2026-03-21 07:21:33 +0000 Commit: Dag-Erling Smørgrav <des@FreeBSD.org> CommitDate: 2026-03-21 07:21:45 +0000 tunefs: Don't combine GEOM journaling with SU GEOM journaling shouldn't be used at the same time as soft updates, so don't enable one if the other is already in use. MFC after: 1 week PR: 293896 Reviewed by: mckusick Differential Revision: https://reviews.freebsd.org/D56002 --- sbin/tunefs/tunefs.8 | 8 ++++++-- sbin/tunefs/tunefs.c | 17 +++++++++++++---- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/sbin/tunefs/tunefs.8 b/sbin/tunefs/tunefs.8 index 0fb11041d97d..8c2d0bbf5d1d 100644 --- a/sbin/tunefs/tunefs.8 +++ b/sbin/tunefs/tunefs.8 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 17, 2023 +.Dd March 20, 2026 .Dt TUNEFS 8 .Os .Sh NAME @@ -92,6 +92,8 @@ this parameter should be set higher. Specify the expected average file size. .It Fl j Cm enable | disable Turn on/off soft updates journaling. +Enabling soft updates journaling implies enabling soft updates and is +incompatible with GEOM journaling. .Pp Enabling journaling reduces the time spent by .Xr fsck_ffs 8 @@ -128,7 +130,8 @@ is running. Running a full fsck on a UFS filesystem is the equivalent of running a scrub on a ZFS filesystem. .It Fl J Cm enable | disable -Turn on/off gjournal flag. +Turn on/off GEOM journaling. +GEOM journaling is incompatible with soft updates. .It Fl k Ar held-for-metadata-blocks Set the amount of space to be held for metadata blocks. When set, the file system preference routines will try to save @@ -171,6 +174,7 @@ been deleted to get under the higher threshold. Turn on/off the administrative NFSv4 ACL enable flag. .It Fl n Cm enable | disable Turn on/off soft updates. +Soft updates are incompatible with GEOM journaling. .It Fl o Cm space | time The file system can either try to minimize the time spent allocating blocks, or it can attempt to minimize the space diff --git a/sbin/tunefs/tunefs.c b/sbin/tunefs/tunefs.c index 6f6df8446cd9..d5ef366e8221 100644 --- a/sbin/tunefs/tunefs.c +++ b/sbin/tunefs/tunefs.c @@ -358,6 +358,9 @@ main(int argc, char *argv[]) if ((sblock.fs_flags & (FS_DOSOFTDEP | FS_SUJ)) == (FS_DOSOFTDEP | FS_SUJ)) { warnx("%s remains unchanged as enabled", name); + } else if (sblock.fs_flags & FS_GJOURNAL) { + warnx("%s cannot be enabled while GEOM " + "journaling is enabled", name); } else if (sblock.fs_clean == 0) { warnx("%s cannot be enabled until fsck is run", name); @@ -386,6 +389,9 @@ main(int argc, char *argv[]) if (strcmp(Jvalue, "enable") == 0) { if (sblock.fs_flags & FS_GJOURNAL) { warnx("%s remains unchanged as enabled", name); + } if (sblock.fs_flags & FS_DOSOFTDEP) { + warnx("%s cannot be enabled while soft " + "updates are enabled", name); } else { sblock.fs_flags |= FS_GJOURNAL; warnx("%s set", name); @@ -403,9 +409,9 @@ main(int argc, char *argv[]) } if (kflag) { name = "space to hold for metadata blocks"; - if (sblock.fs_metaspace == kvalue) + if (sblock.fs_metaspace == kvalue) { warnx("%s remains unchanged as %d", name, kvalue); - else { + } else { kvalue = blknum(&sblock, kvalue); if (kvalue > sblock.fs_fpg / 2) { kvalue = blknum(&sblock, sblock.fs_fpg / 2); @@ -477,9 +483,12 @@ main(int argc, char *argv[]) if (nflag) { name = "soft updates"; if (strcmp(nvalue, "enable") == 0) { - if (sblock.fs_flags & FS_DOSOFTDEP) + if (sblock.fs_flags & FS_DOSOFTDEP) { warnx("%s remains unchanged as enabled", name); - else if (sblock.fs_clean == 0) { + } else if (sblock.fs_flags & FS_GJOURNAL) { + warnx("%s cannot be enabled while GEOM " + "journaling is enabled", name); + } else if (sblock.fs_clean == 0) { warnx("%s cannot be enabled until fsck is run", name); } else {home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69be4721.3e981.44b094b0>
