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>

index | next in thread | raw e-mail

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



home | help

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