From owner-freebsd-fs@freebsd.org Mon Nov 26 00:07:39 2018 Return-Path: Delivered-To: freebsd-fs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 81CFD1147B8A for ; Mon, 26 Nov 2018 00:07:39 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from CAN01-TO1-obe.outbound.protection.outlook.com (mail-eopbgr670057.outbound.protection.outlook.com [40.107.67.57]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 903217D0E7 for ; Mon, 26 Nov 2018 00:07:38 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from YTOPR0101MB1162.CANPRD01.PROD.OUTLOOK.COM (52.132.50.155) by YTOPR0101MB1931.CANPRD01.PROD.OUTLOOK.COM (52.132.49.154) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.26; Mon, 26 Nov 2018 00:07:37 +0000 Received: from YTOPR0101MB1162.CANPRD01.PROD.OUTLOOK.COM ([fe80::9c71:6eb6:1bff:727b]) by YTOPR0101MB1162.CANPRD01.PROD.OUTLOOK.COM ([fe80::9c71:6eb6:1bff:727b%5]) with mapi id 15.20.1294.048; Mon, 26 Nov 2018 00:07:37 +0000 From: Rick Macklem To: Kirk McKusick CC: "soralx@cydem.org" , "freebsd-fs@freebsd.org" , "Julian H. Stacey" , Konstantin Belousov Subject: Re: [bug] fsck refuses to repair damaged UFS using backup superblock Thread-Topic: [bug] fsck refuses to repair damaged UFS using backup superblock Thread-Index: AQHUhJlTgUa5G9TQ8USwP5697EmSSKVgmAwVgAA76wCAAFAAeYAAB9ew Date: Mon, 26 Nov 2018 00:07:36 +0000 Message-ID: References: , <201811251842.wAPIgEpW053136@chez.mckusick.com>, In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=rmacklem@uoguelph.ca; x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; YTOPR0101MB1931; 6:gVxOJ3sgTbGOEd00cypJ/h4JKlmwWlW9sjSveuCrP6e+A/avt2VT6uA4hdlGH1q0akQPfeIjC/nHFEdc6iYv25TnElg27pPLaz1kMozZZoSau1Rb4rEM+8W0uSgT9M6obrkq7ws9dvy8vUFpifaNhrw+tYcMmhx2EsHVkTgLCwNUO70x8RcbmmbdCir5mwp9pp9ARi7fqxpICMNXd3nBA4KpId8e4w/28hL7NK+qXypizLtxWZBsw3lakQN9UNrrmyGbfrEcLD3Tdg2uSJQawV6vx8J/iLgpdcO5TbwSuwojnPWMfATeodfcbenFL9gQAUmTJ9wFr8YN+j3r81fqmbg5mY5GI/06i0YoN4hCyJ0R6IKqZ2pDCDL/CgY1ocb0Wv7xzo80FLKAl30x1+cxnRY/FmY2vA4tXBhTX86j/J+7ZjYLpVJGL/MO3HNuOQ/WXoKd+vSpfGBEUFdWHEUUgA==; 5:6y/PtJFIyr4dx/HIdIxzuWih+kamBLM2lYUvuZph1WdnwmW7Rlv+AdBmkt85Z7qw0A8fZ6fQlpnaMQgA5mYKx8cVBsePipf+oZnCs0A3pXw14SzvEuVsV80WOAUHngGFIUqRE3tokdqkH43WE4uJDnnFN1zinLn/HuJjHcRnrEw=; 7:d3kA4Lk+2IVQIQNF3J55Rq3ivM3pS2yQ/P4CAuMdfmS7AW4c2SytwjN+GWapOfP4/UqEs3rEQ+rIHGU5A3nfwlo9CuE07HMp299dkHc964ridpJGu1SslVVrjYoEyEhyLZJsdtrU88sKDblwBhKFng== x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: daea9ecb-ec12-43a9-1407-08d653332c3e x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390098)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:YTOPR0101MB1931; x-ms-traffictypediagnostic: YTOPR0101MB1931: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(131327999870524); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3002001)(3231442)(944501410)(52105112)(93006095)(93001095)(10201501046)(148016)(149066)(150057)(6041310)(20161123562045)(201703131423095)(201702281529075)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(20161123560045)(201708071742011)(7699051)(76991095); SRVR:YTOPR0101MB1931; BCL:0; PCL:0; RULEID:; SRVR:YTOPR0101MB1931; x-forefront-prvs: 086831DFB4 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(376002)(39860400002)(136003)(346002)(396003)(189003)(199004)(86362001)(2906002)(97736004)(6506007)(2940100002)(476003)(229853002)(14454004)(486006)(11346002)(446003)(74482002)(71190400001)(71200400001)(33656002)(81166006)(6246003)(93156006)(186003)(105586002)(68736007)(53936002)(4326008)(46003)(256004)(6916009)(102836004)(316002)(8676002)(8936002)(54906003)(81156014)(9686003)(55016002)(99286004)(6436002)(106356001)(39060400002)(53546011)(74316002)(25786009)(7696005)(786003)(76176011)(478600001)(305945005)(5660300001)(586874002); DIR:OUT; SFP:1101; SCL:1; SRVR:YTOPR0101MB1931; H:YTOPR0101MB1162.CANPRD01.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: uoguelph.ca does not designate permitted sender hosts) x-microsoft-antispam-message-info: Auy+KRjL6AffJy2o/Dh1M5IUmvZgvi6LYoVM1D0pnZ37XD65YV2nbFjH/i6BG142kiXmrUkWzBezYif9FryJCNqws0Yxl5QiV0dFgIUJchapY2DGRAo3aDiBLleo9GxQQIDF39e7yRoX/9gNbq/k2UVAdZfq+Wg1QCAmxaR0TpPLfJTy36znSiXI739Q1Xq7UTxKsHKU6ibht4EE8PRmtTpYPAw1HUC58ghJFCMbqWK5tz/5nuxjp/1i77vC3ik+RKruK+OHhD5UBCMTSmJ/zJ+0jvqfZ0T2kjaB0hXwMXoXQAF7i24AJno8oNRzsMNsXWhnn8Inb7SFZV/Lfg1/G020nWBr92tmNFSYapLJ5t8= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: uoguelph.ca X-MS-Exchange-CrossTenant-Network-Message-Id: daea9ecb-ec12-43a9-1407-08d653332c3e X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Nov 2018 00:07:36.9456 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: be62a12b-2cad-49a1-a5fa-85f4f3156a7d X-MS-Exchange-Transport-CrossTenantHeadersStamped: YTOPR0101MB1931 X-Rspamd-Queue-Id: 903217D0E7 X-Spamd-Result: default: False [-4.08 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:40.107.0.0/17]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[uoguelph.ca]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: mx2.hc184-76.ca.iphmx.com]; NEURAL_HAM_SHORT(-0.94)[-0.942,0]; RCVD_IN_DNSWL_NONE(0.00)[57.67.107.40.list.dnswl.org : 127.0.3.0]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:8075, ipnet:40.64.0.0/10, country:US]; IP_SCORE(-0.83)[ipnet: 40.64.0.0/10(-2.14), asn: 8075(-1.92), country: US(-0.09)] X-Rspamd-Server: mx1.freebsd.org X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Nov 2018 00:07:39 -0000 ________________________________________ From: Rick Macklem Sent: Sunday, November 25, 2018 6:45 PM To: Kirk McKusick Cc: soralx@cydem.org; freebsd-fs@freebsd.org; Julian H. Stacey; Konstantin = Belousov Subject: Re: [bug] fsck refuses to repair damaged UFS using backup superblo= ck Rick Macklem wrote: [stuff snipped] >Maybe setting all elements of fs_sparecon32[] to zeros before writing the >superblock out would minimize these issues for the future and could be MFC= 'd. >(I'm not claiming that a new FFS2 should be movable between stable/11 and > head, but it might be a nice feature?) Ok, it looks like the FS_METACKHASH flag was meant to handle the old->new kernel transition. However, if I am reading the code correctly, it needs to= be checked for sooner. Here's the code snippet: /* fetch the superblock and summary information */ 812 if ((error =3D ffs_sbget(devvp, &fs, -1, M_UFSMNT, ffs_use_bread= )) !=3D 0) 813 goto out; 814 fs->fs_fmod =3D 0; 815 /* if we ran on a kernel without metadata check hashes, disable = them */ 816 if ((fs->fs_flags & FS_METACKHASH) =3D=3D 0) 817 fs->fs_metackhash =3D 0; I think ffs_sbget() calls readsuper() which calls calc_sbhash(), so lines 8= 15-817 need to be near the top of readsuper(), I think? rick [more stuff snipped]