From owner-svn-src-head@freebsd.org Thu Nov 16 23:24:25 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2FC45DED434; Thu, 16 Nov 2017 23:24:25 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0EF4970782; Thu, 16 Nov 2017 23:24:24 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (localhost [127.0.0.1]) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3) with ESMTP id vAGNONjf058060; Thu, 16 Nov 2017 15:24:23 -0800 (PST) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: (from freebsd@localhost) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3/Submit) id vAGNONIg058059; Thu, 16 Nov 2017 15:24:23 -0800 (PST) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <201711162324.vAGNONIg058059@pdx.rh.CN85.dnsmgr.net> Subject: Re: svn commit: r325903 - in head: sbin/fsck_ffs sbin/newfs sys/sys In-Reply-To: <201711162128.vAGLSEpZ019174@repo.freebsd.org> To: Warner Losh Date: Thu, 16 Nov 2017 15:24:23 -0800 (PST) CC: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Nov 2017 23:24:25 -0000 [ Charset UTF-8 unsupported, converting... ] > Author: imp > Date: Thu Nov 16 21:28:14 2017 > New Revision: 325903 > URL: https://svnweb.freebsd.org/changeset/base/325903 > > Log: > Only try to enable CK_CLYGRP if we're running on kernel newer than > 1200046, the first version that supports this feature. If we set it, > then use an old kernel, we'll break the 'contract' of having > checksummed cylinder groups this flag signifies. To avoid creating > something with an inconsistent state, don't turn the flag on in these > cases. The first full fsck with a new kernel will turn this on. I would much rather have to force this flag on, then my problem would for the most part just go away, I can move file systems back and forth between kernels without any problems. Having fsck just turn it on without even a message let alone a way to stop it being turned on increases the pain factor. > Spnsored by: Netflix > Differential Revision: https://reviews.freebsd.org/D13114 > > Modified: > head/sbin/fsck_ffs/pass5.c > head/sbin/newfs/mkfs.c > head/sbin/newfs/newfs.c > head/sys/sys/param.h > > Modified: head/sbin/fsck_ffs/pass5.c > ============================================================================== > --- head/sbin/fsck_ffs/pass5.c Thu Nov 16 19:07:19 2017 (r325902) > +++ head/sbin/fsck_ffs/pass5.c Thu Nov 16 21:28:14 2017 (r325903) > @@ -35,6 +35,7 @@ static const char sccsid[] = "@(#)pass5.c 8.9 (Berkele > #include > __FBSDID("$FreeBSD$"); > > +#define IN_RTLD /* So we pickup the P_OSREL defines */ > #include > #include > > @@ -73,6 +74,7 @@ pass5(void) > newcg->cg_niblk = fs->fs_ipg; > if (preen == 0 && yflag == 0 && fs->fs_magic == FS_UFS2_MAGIC && > fswritefd != -1 && (fs->fs_metackhash & CK_CYLGRP) == 0 && > + getosreldate() >= P_OSREL_CK_CLYGRP && > reply("ADD CYLINDER GROUP CHECKSUM PROTECTION") != 0) { > fs->fs_metackhash |= CK_CYLGRP; > rewritecg = 1; > > Modified: head/sbin/newfs/mkfs.c > ============================================================================== > --- head/sbin/newfs/mkfs.c Thu Nov 16 19:07:19 2017 (r325902) > +++ head/sbin/newfs/mkfs.c Thu Nov 16 21:28:14 2017 (r325903) > @@ -44,6 +44,7 @@ static char sccsid[] = "@(#)mkfs.c 8.11 (Berkeley) 5/3 > #include > __FBSDID("$FreeBSD$"); > > +#define IN_RTLD /* So we pickup the P_OSREL defines */ > #include > #include > #include > @@ -495,7 +496,7 @@ restart: > /* > * Set flags for metadata that is being check-hashed. > */ > - if (Oflag > 1) > + if (Oflag > 1 && getosreldate() >= P_OSREL_CK_CLYGRP) > sblock.fs_metackhash = CK_CYLGRP; > > /* > > Modified: head/sbin/newfs/newfs.c > ============================================================================== > --- head/sbin/newfs/newfs.c Thu Nov 16 19:07:19 2017 (r325902) > +++ head/sbin/newfs/newfs.c Thu Nov 16 21:28:14 2017 (r325903) > @@ -398,10 +398,6 @@ main(int argc, char *argv[]) > if (pp != NULL) > pp->p_size *= secperblk; > } > - if (getosreldate() < __FreeBSD_version) { > - warnx("%s is newer than the running kernel and may not be compatible", > - getprogname()); > - } > mkfs(pp, special); > ufs_disk_close(&disk); > if (!jflag) > > Modified: head/sys/sys/param.h > ============================================================================== > --- head/sys/sys/param.h Thu Nov 16 19:07:19 2017 (r325902) > +++ head/sys/sys/param.h Thu Nov 16 21:28:14 2017 (r325903) > @@ -84,6 +84,7 @@ > #define P_OSREL_SHUTDOWN_ENOTCONN 1100077 > #define P_OSREL_MAP_GUARD 1200035 > #define P_OSREL_WRFSBASE 1200041 > +#define P_OSREL_CK_CLYGRP 1200046 > #define P_OSREL_VMTOTAL64 1200054 > > #define P_OSREL_MAJOR(x) ((x) / 100000) > > -- Rod Grimes rgrimes@freebsd.org