Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Mar 2002 17:51:46 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Garance A Drosihn <drosih@rpi.edu>
Cc:        "Brian F. Feldman" <green@FreeBSD.ORG>, Kirk McKusick <mckusick@beastie.mckusick.com>, arch@FreeBSD.ORG
Subject:   Re: vnode::v_op bugfix / PERFORCE change 8574 for review (fwd)
Message-ID:  <3CA3C8B2.D9E15AFF@mindspring.com>
References:  <200203282327.g2SNRog05733@green.bikeshed.org> <p0510152eb8c96b7c9b78@[128.113.24.47]>

next in thread | previous in thread | raw e-mail | index | archive | help
Garance A Drosihn wrote:
> A previous message said new vnode-ops are very rare.  I
> do not know what would trigger them, but I will note that
> one of the things I can brag about with freebsd is that
> I have a freebsd machine running a production service
> here which has now been up for 437 consecutive days.  Are
> these events rare enough that I would never have to worry
> about ending an uptime-streak because of too many of them?

That was my claim.

How often do you load FS's that support operations and additional
system calls that reference those operations, that weren't there
before you loaded the FS?

The specific problem is adding non-existant VOP placeholders
to existing VOP lists for FS's that don't support them anyway,
so that when they are bogusly dereferenced out, they don't end
up being a derference of whatever-happens-to-be-there-in-memory
after thenend of the table.

The "fix" is to replace the VOP list on all existing vnodes,
but doing that screws up operations in progress, since there
is no draining barrier.

Actually, there's a really ugly hack you could do as well,
which is the same ugly hack that would allow you to enable
soft updates as a mount option, rather than having to use
tunefs, but I really hesitate to suggest it, because it is
truly incredibly ugly, since it simulates an unmount and a
mount, without invalidating any open vnodes.

Conversion of read-only to R/W and vice versa do it today;
the ugly part is that you have to break the routine out, add
a VFSOP for it, and then pass a function to it to call in
the middle of the operation.

I wouldn't recommend it, unless you cleared the boards on the
mount code and really worked it over (again; several of us
have had our noses in there in the past, myself included).

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3CA3C8B2.D9E15AFF>