From nobody Tue Jun 20 23:23:49 2023 X-Original-To: freebsd-current@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 4Qm2ky3Sbdz4frmM for ; Tue, 20 Jun 2023 23:23:54 +0000 (UTC) (envelope-from madis555@gmail.com) Received: from mail-oi1-x22c.google.com (mail-oi1-x22c.google.com [IPv6:2607:f8b0:4864:20::22c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Qm2kw4xqXz4Ywm for ; Tue, 20 Jun 2023 23:23:52 +0000 (UTC) (envelope-from madis555@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20221208 header.b=Kh+AJQEU; spf=pass (mx1.freebsd.org: domain of madis555@gmail.com designates 2607:f8b0:4864:20::22c as permitted sender) smtp.mailfrom=madis555@gmail.com; dmarc=none Received: by mail-oi1-x22c.google.com with SMTP id 5614622812f47-3a0423ea74eso541549b6e.1 for ; Tue, 20 Jun 2023 16:23:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687303431; x=1689895431; h=to:subject:message-id:date:from:sender:mime-version:from:to:cc :subject:date:message-id:reply-to; bh=vt1WRWpwQHhKG8fxDHYtIiHayl0cSmZC0kvy+FAdMgI=; b=Kh+AJQEURSXqcS8eEjCWjAqBsFoMMccOZzFyCLCBzQtZ7hxPLQupJs7H+3g7CwIFbH M8Nw5nFZEPSzCn2+vA0RBMk4VIvI7YAsLtA0pVdDwm1FOLgq6jyVYpc+VNGkVC4H5Fvv 3lHVtkUClFfW8keMgrpyKCfrTxAUefoeWkahzDZjdW2y5ow29mRq4B6FulSFao/Lyk52 v6iCPivxvOWKoEUKNNDsxRwpaZVaZd4u41/sRTxxIs2xC0b5jc2pnaVDIIPAwnt4uHAx 8xgOn9rsqcOAsm9H3bZzK/RKoD4ybQK/fHOX6k7PPPZLSRS9LrS6oYh63x6smKZtGYFk oyDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687303431; x=1689895431; h=to:subject:message-id:date:from:sender:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=vt1WRWpwQHhKG8fxDHYtIiHayl0cSmZC0kvy+FAdMgI=; b=JdTDTXnhafHw/lopX6TALSOrSo9UmhrIjAPNnv2KZLxz7cGvO2hiAojqJktxzoiuKu ks6eQuffoQphjMuTLi/v68RtR1Gbrm+vsl/517AaASbNMFNuIaKJL1h3zuRya3ImSj+o qYyjLL02WJnSQurSm3/c8hJomqMKnnFDxVKnOhA+ysafryXogEShJwSEBLKkoQZ5gIA6 kJWdObLaBQ9sVxBbcfGxH6J9JIQd3f6R6QA+jx/6S+AVTh8/uKX18Qx6X5dFS2YxC5BF Ruo7gv1mkQTR9BnY1+u603VdzYAioOkDle21mbPDxnh0QyoVbQZ8YtraXsYaPI31T0Ou 8Qtg== X-Gm-Message-State: AC+VfDw9V4hQpKIII5OuBknC2ED6cBxUNWooo4rGK3kxSCnZR29poY/9 VCKA4CJt4hJ70bCNvxaCfwWFmx5hx3mZGV+Y5xrAKR2EWu4= X-Google-Smtp-Source: ACHHUZ76t3FqSZSoZOlpkGbf+KaW1G0w5IIsW0tbqQZY6R6nV9ViDVY3P/Et0CW9SAN9dbNGqw+1HFxNv4V7On5Z/WU= X-Received: by 2002:a05:6808:ddf:b0:3a0:3f15:1aca with SMTP id g31-20020a0568080ddf00b003a03f151acamr2336591oic.55.1687303430813; Tue, 20 Jun 2023 16:23:50 -0700 (PDT) List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 Received: by 2002:ac4:cb59:0:b0:61f:90d:1db5 with HTTP; Tue, 20 Jun 2023 16:23:49 -0700 (PDT) From: Sulev-Madis Silber Date: Wed, 21 Jun 2023 02:23:49 +0300 X-Google-Sender-Auth: TJv2IIeCMY5JrapDAWv8IHn07M8 Message-ID: Subject: new syctl to allow ignoring time from fs if no rtc found To: freebsd-current Content-Type: multipart/mixed; boundary="000000000000a07b5105fe97f1f1" X-Spamd-Result: default: False [1.83 / 15.00]; MIME_BASE64_TEXT_BOGUS(1.00)[]; NEURAL_SPAM_MEDIUM(1.00)[1.000]; NEURAL_HAM_SHORT(-0.86)[-0.858]; NEURAL_SPAM_LONG(0.78)[0.784]; FORGED_SENDER(0.30)[madis555@hot.ee,madis555@gmail.com]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20221208]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MIME_BASE64_TEXT(0.10)[]; MIME_GOOD(-0.10)[multipart/mixed,multipart/alternative,text/plain,text/x-diff]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-current@freebsd.org]; FREEMAIL_FROM(0.00)[hot.ee]; RCPT_COUNT_ONE(0.00)[1]; DMARC_NA(0.00)[hot.ee]; BLOCKLISTDE_FAIL(0.00)[2607:f8b0:4864:20::22c:server fail]; ARC_NA(0.00)[]; FROM_NEQ_ENVFROM(0.00)[madis555@hot.ee,madis555@gmail.com]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::22c:from]; TO_DN_ALL(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; HAS_ATTACHMENT(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; DKIM_TRACE(0.00)[gmail.com:+]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~,4:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org] X-Rspamd-Queue-Id: 4Qm2kw4xqXz4Ywm X-Spamd-Bar: + X-ThisMailContainsUnwantedMimeParts: N --000000000000a07b5105fe97f1f1 Content-Type: multipart/alternative; boundary="000000000000a07b4f05fe97f1ef" --000000000000a07b4f05fe97f1ef Content-Type: text/plain; charset="UTF-8" unsure if anybody else needs that functionality. i was suggested to submit it into actual code review place, but i'm unsure. it's from 2014, it still cleanly applies. probably because noone needed to touch working code! anyway, i used it in in arm board development, in bbb, to default system time to "visually invalid" 1970 when no other source was found. i found getting time from filesystem causing much confusion when files were created before ntp sync. so i added this hack http://ketas.si.pri.ee/bbb/src-patches/debug-no-timestamp-from-filesystem.diff Index: sys/kern/vfs_mountroot.c =================================================================== --- sys/kern/vfs_mountroot.c (revision 274644) +++ sys/kern/vfs_mountroot.c (working copy) @@ -968,14 +968,16 @@ * timestamps we encounter. */ timebase = 0; - mtx_lock(&mountlist_mtx); - mp = TAILQ_FIRST(&mountlist); - while (mp != NULL) { - if (mp->mnt_time > timebase) - timebase = mp->mnt_time; - mp = TAILQ_NEXT(mp, mnt_list); + if (kern_getenv("debug.no_timestamp_from_filesystem") == NULL) { + mtx_lock(&mountlist_mtx); + mp = TAILQ_FIRST(&mountlist); + while (mp != NULL) { + if (mp->mnt_time > timebase) + timebase = mp->mnt_time; + mp = TAILQ_NEXT(mp, mnt_list); + } + mtx_unlock(&mountlist_mtx); } - mtx_unlock(&mountlist_mtx); inittodr(timebase); /* Keep prison0's root in sync with the global rootvnode. */ --000000000000a07b4f05fe97f1ef Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable unsure if anybody else needs that functionality. i was suggested to submit = it into actual code review place, but i'm unsure. it's from 2014, i= t still cleanly applies. probably because noone needed to touch working cod= e! anyway, i used it in in arm board development, in bbb, to default system= time to "visually invalid" 1970 when no other source was found. = i found getting time from filesystem causing much confusion when files were= created before ntp sync. so i added this hack

http:= //ketas.si.pri.ee/bbb/src-patches/debug-no-timestamp-from-filesystem.diff

Index: sys/kern/vfs_mountroot.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D
--- sys/kern/vfs_mountroot.c (revision 274644)
= +++ sys/kern/vfs_mountroot.c (working copy)
@@ -968,14 +968,16 @@
= * timestamps we encounter.
*/
timebase =3D 0;
- mtx_lock(&= ;mountlist_mtx);
- mp =3D TAILQ_FIRST(&mountlist);
- while (mp != =3D NULL) {
- if (mp->mnt_time > timebase)
- timebase =3D mp= ->mnt_time;
- mp =3D TAILQ_NEXT(mp, mnt_list);
+ if (kern_getenv(= "debug.no_timestamp_from_filesystem") =3D=3D NULL) {
+ mtx_lo= ck(&mountlist_mtx);
+ mp =3D TAILQ_FIRST(&mountlist);
+ whi= le (mp !=3D NULL) {
+ if (mp->mnt_time > timebase)
+ timeb= ase =3D mp->mnt_time;
+ mp =3D TAILQ_NEXT(mp, mnt_list);
+ }+ mtx_unlock(&mountlist_mtx);
}
- mtx_unlock(&mountlist_m= tx);
inittodr(timebase);

/* Keep prison0's root in sync = with the global rootvnode. */
--000000000000a07b4f05fe97f1ef-- --000000000000a07b5105fe97f1f1 Content-Type: text/x-diff; charset="US-ASCII"; name="debug-no-timestamp-from-filesystem.diff" Content-Disposition: attachment; filename="debug-no-timestamp-from-filesystem.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: 166bc0165ab47411_0.1 SW5kZXg6IHN5cy9rZXJuL3Zmc19tb3VudHJvb3QuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMva2Vybi92 ZnNfbW91bnRyb290LmMJKHJldmlzaW9uIDI3NDY0NCkKKysrIHN5cy9rZXJuL3Zmc19tb3VudHJv b3QuYwkod29ya2luZyBjb3B5KQpAQCAtOTY4LDE0ICs5NjgsMTYgQEAKIAkgKiB0aW1lc3RhbXBz IHdlIGVuY291bnRlci4KIAkgKi8KIAl0aW1lYmFzZSA9IDA7Ci0JbXR4X2xvY2soJm1vdW50bGlz dF9tdHgpOwotCW1wID0gVEFJTFFfRklSU1QoJm1vdW50bGlzdCk7Ci0Jd2hpbGUgKG1wICE9IE5V TEwpIHsKLQkJaWYgKG1wLT5tbnRfdGltZSA+IHRpbWViYXNlKQotCQkJdGltZWJhc2UgPSBtcC0+ bW50X3RpbWU7Ci0JCW1wID0gVEFJTFFfTkVYVChtcCwgbW50X2xpc3QpOworCWlmIChrZXJuX2dl dGVudigiZGVidWcubm9fdGltZXN0YW1wX2Zyb21fZmlsZXN5c3RlbSIpID09IE5VTEwpIHsKKwkJ bXR4X2xvY2soJm1vdW50bGlzdF9tdHgpOworCQltcCA9IFRBSUxRX0ZJUlNUKCZtb3VudGxpc3Qp OworCQl3aGlsZSAobXAgIT0gTlVMTCkgeworCQkJaWYgKG1wLT5tbnRfdGltZSA+IHRpbWViYXNl KQorCQkJCXRpbWViYXNlID0gbXAtPm1udF90aW1lOworCQkJbXAgPSBUQUlMUV9ORVhUKG1wLCBt bnRfbGlzdCk7CisJCX0KKwkJbXR4X3VubG9jaygmbW91bnRsaXN0X210eCk7CiAJfQotCW10eF91 bmxvY2soJm1vdW50bGlzdF9tdHgpOwogCWluaXR0b2RyKHRpbWViYXNlKTsKIAogCS8qIEtlZXAg cHJpc29uMCdzIHJvb3QgaW4gc3luYyB3aXRoIHRoZSBnbG9iYWwgcm9vdHZub2RlLiAqLwo= --000000000000a07b5105fe97f1f1--