quota deadlock on 6.1-RC1

David Kirchner dpk at dpk.net
Thu May 4 01:28:38 UTC 2006

On 5/3/06, Robert Watson <rwatson at freebsd.org> wrote:
> This means that
> they will take a significant amount of time to fix, and that each fix is high
> risk, as it is likely to reveal latent bugs.  This means that each fix will
> require a lot of testing -- months of testing, in fact.  So the choice is
> really, do we release 6.1, or do we skip it and do a 6.2 in a few months.  As
> the release engineer, Scott has concluded that releasing now offers a great
> benefit to many people, although the bugs present may penalize some. Mind
> you, in some cases the bugs also exist in 6.0, so they don't represent
> regressions, so much as bugs that continue to persist.

However, one could argue that as quotas worked OK in releases prior to
6.0 (and perhaps earlier), that there is a longer-term regression. In
fact, it seems that enabling snapshots by default appears to have
caused a significant regression for quotas and fsck operations (not
for 'dump' however, since the default is to not use them). The
workaround is for the user to disable all software that makes use of
the feature, but the default settings released to users leaves them
enabled and thus implicitly recommended.*

I don't understand the need to issue a new release according to a
strict schedule if it means leaving critical bugs that affect a
fundamental feature of the OS: the filesystem itself. I think one
would be well justified in delaying a new release in order to fix a
bug in a subsystem of this magnitude.

I may be applying my own personal beliefs here, but looking over the
6.1-RC2 RELNOTES.TXT file, I don't see any fixes or updates listed
that are more important than general filesystem availability.

> I agree with his
> conclusion: things like locking interactions in VFS are incredibly
> complicated, requiring extensive analysis and work to fix and test.  Trying to
> fix them for 6.1 is unrealistic.  They can be fixed in the next few weeks,
> tested for a month or two, and then merged to the RELENG_6_1 branch as errata
> fixes, similar to security advisories.

This assumes that 6.1 absolutely must be released -- must it, in its
current state? The VFS code is indeed incredibly complicated, but it
is also absolutely critical. The server is completely useless if
filesystem operations fail. Would there really be harm in putting off
a release until these well-acknowledged bugs are taken care of?

* rc.conf still has background_fsck enabled in version 1.282, and
newfs.c still creates .snap by default in version 1.80 .

More information about the freebsd-stable mailing list