Of all the gin joints in all the towns in all the world, Matthew Dillon
had to walk into mine and say:
> Look up a bit in the code. If bigenough is not true, cnp does not
> get initialized. This could lead to the bogus length -- or rather,
> it would be the cnp that is bogus, not the 'len'.
>
> The question is how to fix it. I think we can safely avoid doing the
> cache_enter so try changing the 'if (doit)' to 'if (doit && bigenough)'.
> I've included the patch below.
>
> I am not 100% sure about this.
Hm. Well, it cures the panic that I was experiencing quite nicely.
I'm going to commit this latest patch for now since it fixes both
the vnode locking problem and a crash condition, which are pretty
serious problems. If you come up with something different, I'll be happy
to try it out.
Not a bad day's work. :)
-Bill
--
=============================================================================
-Bill Paul (212) 854-6020 | System Manager, Master of Unix-Fu
Work: [EMAIL PROTECTED] | Center for Telecommunications Research
Home: [EMAIL PROTECTED] | Columbia University, New York City
=============================================================================
"It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness"
=============================================================================
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message