help w.r.t. vfs_event_signal(..VQ_NOTRESPLOCK) in nlm

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Rick Macklem
Date: Wednesday, July 15, 2009 - 9:16 am

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

_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
help w.r.t. vfs_event_signal(..VQ_NOTRESPLOCK) in nlm, Rick Macklem, (Wed Jul 15, 9:16 am)
Re: help w.r.t. vfs_event_signal(..VQ_NOTRESPLOCK) in nlm, Andrey Simonenko, (Fri Jul 17, 5:26 am)