> I was going to raise an issue when the discussion had died down to a > concensus. I also don't think it's reasonable for the kernel to bomb > when it encounters corruption on a disk. > > If you want to patch it yourself, edit sys/ufs/ufs/ufs_vnops.c at around > line 2791 change: > > if (dp->i_effnlink < 3) > panic("ufs_dirrem: Bad link count %d on parent", > dp->i_effnlink); > > To > > if (dp->i_effnlink < 3) { > error = EINVAL; > goto out; > } > > The ufs_link() call has a similar issue. > > I can't see why my mod will break anything, but there's always > unintended consequences. By returning invalid argument, any code above > it should already be handling that condition although the user will be > scratching their head wondering what's wrong with it. Returning ENOENT > or EACCES or ENOTDIR may be better ("No such directory", "Access denied" > or "Not a valid directory"). > > The trouble is that it's tricky to test properly without finding a good > way to corrupt the link count :-) > > Regards, Frank.
Cool. Thanks for the patch! _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"