On Fri, May 20, 2011 at 02:45:04PM +0200, Mike Belopuhov wrote:
> On Fri, May 20, 2011 at 06:24 -0600, David Coppa wrote:
> > Hi all,
> >
> > OpenBSD-current snapshot dated 16-May-2011:
> > I get an always-reproducible panic with softraid crypto and
> > kern.bufcachepercent >= 75, when untarring a tarball of the
> > complete source tree.
> >
> > The disk layout is the following, with softraid crypto for
> > all but /:
> >
> > /dev/sd0a on / type ffs (local)
> > /dev/sd2f on /home type ffs (local, nodev, nosuid)
> > /dev/sd2e on /usr type ffs (local, nodev)
> > /dev/sd2d on /var type ffs (local, nodev, nosuid)
> > /dev/sd3i on /mnt type msdos (local)
> >
> > Here's the trace:
> >
> >
> > panic: sr_crypto_rw: no crypto op
>
> hi,
>
> although i'm not sure that this is a best solution, i can't
> see why we should panic here. sr_scsi_cmd seems to cope with
> stuffups just fine.
This is correct. Please commit.
>
> Index: dev/softraid_crypto.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/softraid_crypto.c,v
> retrieving revision 1.65
> diff -u -p -r1.65 softraid_crypto.c
> --- dev/softraid_crypto.c 6 Apr 2011 03:14:51 -0000 1.65
> +++ dev/softraid_crypto.c 20 May 2011 12:42:12 -0000
> @@ -1115,7 +1115,7 @@ sr_crypto_rw(struct sr_workunit *wu)
> if (wu->swu_xs->flags & SCSI_DATA_OUT) {
> crp = sr_crypto_getcryptop(wu, 1);
> if (crp == NULL)
> - panic("sr_crypto_rw: no crypto op");
> + return (1);
> crp->crp_callback = sr_crypto_write;
> crp->crp_opaque = wu;
> s = splvm();