Subject: Investigating broken vnd(4) w/ VND_COMPRESS (PR 33112)
To: None <tech-kern@NetBSD.org>
From: Hubert Feyrer <hubert@feyrer.de>
List: tech-kern
Date: 02/26/2007 22:54:32
I've tried a bunch of kernels and narrowed the problem down to a few
changes. Here's what I see, kernel date and behaviour per PR 33112:
20051201 - ok
| 20051215 - panic in vndthread->copystrategy
| 20060101 - panic in vndthread->copystrategy
V 20060115 - panic in vndthread->copystrategy
20060201 - broken
I'm not sure if the problem is in vnd.c itself or in some other files,
but maybe someone more clueful than I am can have a look at the following
diffs and see if anything about may explain why things are fishy:
1) cvs rdiff -D20060115 -D20060201 src/sys/dev/vnd.c
I guess not setting auio.uio_lwp led to the panics showing up
first
2) cvs rdiff -D20051201 -D20051215 src/sys/dev/vnd.c
This includes two changes, rev. 1.123->1.124, and 1.124->1.125.
The chunk in the cirst change at "close_and_exit" looks fishy WRT
p->p_ucred which should probably be something about an LWP, but
looking at -current that was fixed in the mean time, so I guess that's
not the real problem.
I understand too little about the VM system etc. to judge the second
change.
Maybe someone can spot the biting problem here?
- Hubert