Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Jul 2009 12:16:27 -0400 (EDT)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        freebsd-current@freebsd.org
Subject:   help w.r.t. vfs_event_signal(..VQ_NOTRESPLOCK) in nlm
Message-ID:  <Pine.GSO.4.63.0907151210120.13681@muncher.cs.uoguelph.ca>

next in thread | raw e-mail | index | archive | help
Hi,

I'm trying to fix a problem in nlm_advlock.c that causes crashes
during forced dismounts. The reason for the crash is obvious, but
a correct fix not so much so.

The crashes occur because nlm_down() and nlm_up() assume that the
mount point structure still exists, when it might not. The part
that I don't understand is that they do the following:
 	vfs_event_signal(&nmp->nm_mountp->mnt_stat.f_fsid,
 	    VQ_NOTRESPLOCK, 0);
once for each cycle of down/up, using a per-mountpoint flag. It's
the per-mountpoint flag that you don't actually have access to.

So, does anyone happen to know what the above does and whether it
has to happen once/mountpoint OR would once for all mountpoints be
sufficient? (Although fsid is the first argument, it appears that
it isn't actually used.)

Thanks in adavnce for any help, rick




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.63.0907151210120.13681>