From nobody Fri Feb 18 02:08:21 2022 X-Original-To: stable@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 E96C819C60AF; Fri, 18 Feb 2022 02:08:23 +0000 (UTC) (envelope-from jmg@gold.funkthat.com) Received: from gold.funkthat.com (gate2.funkthat.com [208.87.223.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "gate2.funkthat.com", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4K0FTz21kgz4g0j; Fri, 18 Feb 2022 02:08:23 +0000 (UTC) (envelope-from jmg@gold.funkthat.com) Received: from gold.funkthat.com (localhost [127.0.0.1]) by gold.funkthat.com (8.15.2/8.15.2) with ESMTPS id 21I28Lkp094673 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 17 Feb 2022 18:08:22 -0800 (PST) (envelope-from jmg@gold.funkthat.com) Received: (from jmg@localhost) by gold.funkthat.com (8.15.2/8.15.2/Submit) id 21I28Lmk094672; Thu, 17 Feb 2022 18:08:21 -0800 (PST) (envelope-from jmg) Date: Thu, 17 Feb 2022 18:08:21 -0800 From: John-Mark Gurney To: Andriy Gapon Cc: freebsd-stable List , freebsd-fs , "freebsd-geom@FreeBSD.org" Subject: Re: fsck -C -p: NO WRITE ACCESS Message-ID: <20220218020821.GK97875@funkthat.com> Mail-Followup-To: Andriy Gapon , freebsd-stable List , freebsd-fs , "freebsd-geom@FreeBSD.org" References: <346d021f-b737-f41a-883f-e821389c4431@FreeBSD.org> <20220214231758.GD97875@funkthat.com> <5eac56d0-51fb-5e23-0d2a-3c6b6bf163d0@FreeBSD.org> List-Id: Production branch of FreeBSD source code List-Archive: https://lists.freebsd.org/archives/freebsd-stable List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-stable@freebsd.org X-BeenThere: freebsd-stable@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5eac56d0-51fb-5e23-0d2a-3c6b6bf163d0@FreeBSD.org> X-Operating-System: FreeBSD 11.3-STABLE amd64 X-PGP-Fingerprint: D87A 235F FB71 1F3F 55B7 ED9B D5FF 5A51 C0AC 3D65 X-Files: The truth is out there X-URL: https://www.funkthat.com/ X-Resume: https://www.funkthat.com/~jmg/resume.html X-TipJar: bitcoin:13Qmb6AeTgQecazTWph4XasEsP7nGRbAPE X-to-the-FBI-CIA-and-NSA: HI! HOW YA DOIN? can i haz chizburger? User-Agent: Mutt/1.6.1 (2016-04-27) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (gold.funkthat.com [127.0.0.1]); Thu, 17 Feb 2022 18:08:22 -0800 (PST) X-Rspamd-Queue-Id: 4K0FTz21kgz4g0j X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of jmg@gold.funkthat.com has no SPF policy when checking 208.87.223.18) smtp.mailfrom=jmg@gold.funkthat.com X-Spamd-Result: default: False [-1.67 / 15.00]; MID_RHS_MATCH_FROM(0.00)[]; ARC_NA(0.00)[]; FREEFALL_USER(0.00)[jmg]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[funkthat.com]; AUTH_NA(1.00)[]; NEURAL_HAM_MEDIUM(-0.99)[-0.993]; TO_DN_ALL(0.00)[]; NEURAL_HAM_SHORT(-0.87)[-0.875]; MLMMJ_DEST(0.00)[stable,fs,geom]; FORGED_SENDER(0.30)[jmg@funkthat.com,jmg@gold.funkthat.com]; R_SPF_NA(0.00)[no SPF record]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:32354, ipnet:208.87.216.0/21, country:US]; FROM_NEQ_ENVFROM(0.00)[jmg@funkthat.com,jmg@gold.funkthat.com]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-ThisMailContainsUnwantedMimeParts: N Andriy Gapon wrote this message on Tue, Feb 15, 2022 at 08:44 +0200: > On 15/02/2022 01:17, John-Mark Gurney wrote: > > Andriy Gapon wrote this message on Mon, Feb 07, 2022 at 14:15 +0200: > >> I've got a problem where fsck behaves differently from my expectations. > >> The problem happens with a filesystem on a GELI encrypted ZVOL. > >> The volume has 4K block size and that's the GELI's sector size as well. > >> FreeBSD is stable/13 from mid January. > > > > Did you put a ffs filesystem that was formatted on a 512 byte sector disk > > onto this geli device? > > As far as I can recall, no. I created it with newsfs on the geli device. Looks like it's a bug in newfs, as I just reproduced this myself: fsbtodb int32_t 0x00000003 and manually specifying a sector size of 4096 to newfs does not fix the issue. This is the issue: https://cgit.freebsd.org/src/blame/sbin/newfs/newfs.c#n399 It changes the sectorsize back down to 512 from whatever it should be, which means that the calculation in mkfs.c becomes off. I'd file a bug report and get someone who knows FFS to look at it. I tried to change mkfs.c to use realsectorsize isntead, so fsbtodb is set to 0, but then it break ffsinfo, because it's calculations are likely wrong. > > fsck calculates the sector size via (/sbin/fsck_ffs/setup.c): > > dev_bsize = sblock.fs_fsize / fsbtodb(&sblock, 1); > > > > and fsbtodb: > > ../../sys/ufs/ffs/fs.h:#define fsbtodb(fs, b) ((daddr_t)(b) << (fs)->fs_fsbtodb) > > > >> fsize 4096 shift 12 mask 0xfffff000 > >> frag 8 shift 3 fsbtodb 3 > > > > fsize / (1 << 3) == 4096 / 8 == 512. > > > > so, likely updating fsbtodb to be 0 instead of 3 would fix this. I'm not > > sure how to do this though, as tunefs and fsdb don't seem to have options > > to do this, and likely you'll want to update all the superblocks w/ this > > new value. -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."