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