Date: Wed, 24 Mar 2021 23:49:34 GMT From: Kirk McKusick <mckusick@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: bc444e2ec6e6 - main - Fix fsck_ffs Pass 1b error exit "bad inode number 2 to nextinode". Message-ID: <202103242349.12ONnYeD080077@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=bc444e2ec6e6cc9d96d35ab7ce3c02c0da952fad commit bc444e2ec6e6cc9d96d35ab7ce3c02c0da952fad Author: Kirk McKusick <mckusick@FreeBSD.org> AuthorDate: 2021-03-24 23:50:24 +0000 Commit: Kirk McKusick <mckusick@FreeBSD.org> CommitDate: 2021-03-24 23:53:28 +0000 Fix fsck_ffs Pass 1b error exit "bad inode number 2 to nextinode". Pass 1b of fsck_ffs runs only when Pass 1 has found duplicate blocks. When starting up, Pass 1b failed to properly skip over the two unused inodes at the beginning of the filesystem resulting in the above error message when it tried to read the filesystem root inode. Reported by: Chuck Silvers Tested by: Chuck Silvers MFC after: 3 days Sponsored by: Netflix --- sbin/fsck_ffs/pass1b.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sbin/fsck_ffs/pass1b.c b/sbin/fsck_ffs/pass1b.c index 8c09ef36acad..b44e0107c982 100644 --- a/sbin/fsck_ffs/pass1b.c +++ b/sbin/fsck_ffs/pass1b.c @@ -78,8 +78,10 @@ pass1b(void) continue; setinodebuf(c, inosused); for (i = 0; i < inosused; i++, inumber++) { - if (inumber < UFS_ROOTINO) + if (inumber < UFS_ROOTINO) { + (void)getnextinode(inumber, 0); continue; + } dp = getnextinode(inumber, 0); idesc.id_number = inumber; idesc.id_type = inoinfo(inumber)->ino_idtype;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202103242349.12ONnYeD080077>