Date: Thu, 2 Jul 1998 19:35:30 -0500 (CDT) From: Kevin Day <toasty@home.dragondata.com> To: eivind@yes.no (Eivind Eklund) Cc: andreas@klemm.gtn.com, current@FreeBSD.ORG Subject: Re: -current wishlist Message-ID: <199807030035.TAA04624@home.dragondata.com> In-Reply-To: <19980702213011.35162@follo.net> from Eivind Eklund at "Jul 2, 98 09:30:11 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
> These fix a couple of reasons for such problems, I think. They're > completely untested. Feel free to test them :-) > I'll give them a try. :) However... > > Index: ccd.c > =================================================================== > RCS file: /home/ncvs/src/sys/dev/ccd/ccd.c,v > retrieving revision 1.32 > diff -u -r1.32 ccd.c > --- ccd.c 1998/03/09 20:39:26 1.32 > +++ ccd.c 1998/05/31 01:10:56 > @@ -427,7 +433,7 @@ > printf("ccd%d: interleave must be at least %d\n", > ccd->ccd_unit, (maxsecsize / DEV_BSIZE)); > #endif > - while (ci >= cs->sc_cinfo) { > + while (ci && ci >= cs->sc_cinfo) { > free(ci->ci_path, M_DEVBUF); > ci--; > } I'm not quite sure I understand how this would help. If this were happening, shouldn't ccd blow up all over the place? :) Or is it just a case of 'lets make really sure'? :) > @@ -918,7 +929,8 @@ > #endif > cb[0] = cbp; > if (cs->sc_cflags & CCDF_MIRROR && > - (cbp->cb_buf.b_flags & B_READ) == 0) { > + (cbp->cb_buf.b_flags & B_READ) == 0 > + && ci2) { > /* mirror, start one more write */ > cbp = getccdbuf(); > bzero(cbp, sizeof (struct ccdbuf)); I'm not mirroring, so I doubt this is the cause.. (if that helps you narrow things down) In any case, thanks a lot, I'll apply and see what happens. :) Kevin To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199807030035.TAA04624>