[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: kernel/5041: vnd panic on -current
- To: bugs_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org
- Subject: Re: kernel/5041: vnd panic on -current
- From: Pedro Martelletto <pedro_(_at_)_ambientworks_(_dot_)_net>
- Date: Thu, 2 Mar 2006 18:15:01 -0700 (MST)
- Cc:
- Reply-to: Pedro Martelletto <pedro_(_at_)_ambientworks_(_dot_)_net>
The following reply was made to PR kernel/5041; it has been noted by GNATS.
From: Pedro Martelletto <pedro_(_at_)_ambientworks_(_dot_)_net>
To: David Hill <dhill_(_at_)_mindcry_(_dot_)_org>
Cc: gnats_(_at_)_openbsd_(_dot_)_org
Subject: Re: kernel/5041: vnd panic on -current
Date: Thu, 2 Mar 2006 21:57:19 -0300
We are returning items back to the pool in vndiodone() from interrupt
context, so I guess something like the diff below might be needed.
Alternatively, we can tweak vnd's pool_init() call to use a interrupt
safe allocator.
-p.
Index: vnd.c
===================================================================
RCS file: /cvs/src/sys/dev/vnd.c,v
retrieving revision 1.58
diff -u -r1.58 vnd.c
--- vnd.c 22 Jan 2006 00:40:02 -0000 1.58
+++ vnd.c 3 Mar 2006 01:01:52 -0000
@@ -568,7 +568,9 @@
vnd->sc_vp, vp, bn, nbn, sz);
#endif
+ s = splbio();
nbp = getvndbuf();
+ splx(s);
nbp->vb_buf.b_flags = flags;
nbp->vb_buf.b_bcount = sz;
nbp->vb_buf.b_bufsize = bp->b_bufsize;
Visit your host, monkey.org