summaryrefslogtreecommitdiff
path: root/sys/dev/ccd
diff options
context:
space:
mode:
authorDavid Greenman <dg@FreeBSD.org>1999-03-11 19:21:31 +0000
committerDavid Greenman <dg@FreeBSD.org>1999-03-11 19:21:31 +0000
commit364d988de3ee34c0100899c253fcd7660b5442dc (patch)
treedb2c5450885f1674df31af652fe00d534928b90d /sys/dev/ccd
parent751eef406785946ca483af6df2fadf73ba247baf (diff)
Notes
Diffstat (limited to 'sys/dev/ccd')
-rw-r--r--sys/dev/ccd/ccd.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/dev/ccd/ccd.c b/sys/dev/ccd/ccd.c
index 92c258653ce6..387c5b604aca 100644
--- a/sys/dev/ccd/ccd.c
+++ b/sys/dev/ccd/ccd.c
@@ -1,4 +1,4 @@
-/* $Id: ccd.c,v 1.37 1998/09/15 08:15:26 gibbs Exp $ */
+/* $Id: ccd.c,v 1.37.2.1 1999/02/18 22:06:00 ken Exp $ */
/* $NetBSD: ccd.c,v 1.22 1995/12/08 19:13:26 thorpej Exp $ */
@@ -825,6 +825,7 @@ ccdbuffer(cb, cs, bp, bn, addr, bcount)
register struct ccdcinfo *ci, *ci2 = NULL; /* XXX */
register struct ccdbuf *cbp;
register daddr_t cbn, cboff;
+ register off_t cbc;
#ifdef DEBUG
if (ccddebug & CCDB_IO)
@@ -903,11 +904,10 @@ ccdbuffer(cb, cs, bp, bn, addr, bcount)
LIST_INIT(&cbp->cb_buf.b_dep);
cbp->cb_buf.b_resid = 0;
if (cs->sc_ileave == 0)
- cbp->cb_buf.b_bcount = dbtob(ci->ci_size - cbn);
+ cbc = dbtob((off_t)(ci->ci_size - cbn));
else
- cbp->cb_buf.b_bcount = dbtob(cs->sc_ileave - cboff);
- if (cbp->cb_buf.b_bcount > bcount)
- cbp->cb_buf.b_bcount = bcount;
+ cbc = dbtob((off_t)(cs->sc_ileave - cboff));
+ cbp->cb_buf.b_bcount = (cbc < bcount) ? cbc : bcount;
cbp->cb_buf.b_bufsize = cbp->cb_buf.b_bcount;