Subject: Re: panic: ffs_alloccgblk: can't find blk in cyl
To: None <current-users@NetBSD.ORG>
From: der Mouse <mouse@Collatz.McRCIM.McGill.EDU>
List: current-users
Date: 03/02/1996 08:22:45
> pos = 0, i = 13, fs = /space
> panic: ffs_alloccgblk: can't find blk in cyl
> [but fsck doesn't mind] It shouldn't be possible for a filesystem to
> pass fsck and then provoke a kernel panic.
So there's a bug in fsck, the kernel, or both.
mycroft pointed out, quite correctly,
> You didn't give any indication of what kernel or fsck(8) version
> you're using.
Everything built from sources gotten via -current sup, started about
08:30 Feb 27 1996, Canada/Eastern timezone.
But I think the problem is likely very old, because this is _exactly_
the symptom (panic: ffs_alloccgblk: can't find blk in cyl) that I saw
when I tried to use fsresize on SunOS 4.1.2, and there too, fsck passed
the filesystem. So there is probably a very longstanding bug in the
Berkeley ffs code, old enough that it's shared by SunOS 4.1.2 and
NetBSD-current.
A pretty damn subtle bug, too, since it's never bitten people in live
use before...or at least not enough to make anyone figure it out.
As I said, I'm investigating. But I don't really understand this
"rotational position" stuff enough. If I can repeat it with
filesystems that compress down decently small, I'll send-pr it and
either include a guilty filesystem or offer to send it to anyone who
wants it. The filesystem I actually had it happen with was
Filesystem 1024-blocks Used Avail Capacity Mounted on
/dev/sd0f 884501 470296 369979 56% /space
which is not something I want to casually drop into a PR. :-)
(Besides, that particular filesystem has security-sensitive information
on it, so I don't want to give it out at all.)
der Mouse
mouse@collatz.mcrcim.mcgill.edu