* Don Lewis <[EMAIL PROTECTED]> [030617 13:06] wrote: > On 17 Jun, Alfred Perlstein wrote: > > * Don Lewis <[EMAIL PROTECTED]> [030617 12:00] wrote: > >> It's not legal to attempt to aquire Giant in fdrop_locked(), while > >> FILE_LOCK() is held. The problem is that FILE_LOCK uses the mutex pool, > >> which should only be used for leaf mutexes. > >> > >> It also looks like there is a potential for a lock order reversal if > >> some callers aquire Giant before FILE_LOCK() and fdrop_locked() does the > >> opposite. > >> > >> It also appears that witness ignores the mutex pool ... > > > > Yes, but I think the fix is as simple as just dropping the FILE_LOCK > > after the decrement as we're the last holders of it, can you try > > this: > > I like simple fixes, especially when the code shrinks ;-) > > Unfortunately, I think your point about this only happening because this > process is the last holder of the file means that this doesn't explain > Peter's deadlock.
You can still deadlock because another file's mutex may hash to the same location. _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"