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>
