From owner-freebsd-current Sat Feb 14 20:31:31 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id UAA20095 for freebsd-current-outgoing; Sat, 14 Feb 1998 20:31:31 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from friley585.res.iastate.edu (friley585.res.iastate.edu [129.186.167.85]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id UAA20068 for ; Sat, 14 Feb 1998 20:31:19 -0800 (PST) (envelope-from ccsanady@friley585.res.iastate.edu) Received: from friley585.res.iastate.edu (loopback [127.0.0.1]) by friley585.res.iastate.edu (8.8.8/8.8.5) with ESMTP id WAA00428 for ; Sat, 14 Feb 1998 22:31:08 -0600 (CST) Message-Id: <199802150431.WAA00428@friley585.res.iastate.edu> X-Mailer: exmh version 2.0.1 12/23/97 To: freebsd-current@FreeBSD.ORG Subject: CCD missing spl() call.. Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sat, 14 Feb 1998 22:31:08 -0600 From: Chris Csanady Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG There is also a off by one error in the handling of the partitions. Credit goes to OpenBSD for these. There are numerous other changes that would be worth integrating as well.. Chris *** ccd.c.old Sat Feb 14 22:27:17 1998 --- ccd.c Sat Feb 14 20:27:12 1998 *************** *** 631,637 **** ccdgetdisklabel(dev); /* Check that the partition exists. */ ! if (part != RAW_PART && ((part > lp->d_npartitions) || (lp->d_partitions[part].p_fstype == FS_UNUSED))) { error = ENXIO; goto done; --- 631,637 ---- ccdgetdisklabel(dev); /* Check that the partition exists. */ ! if (part != RAW_PART && ((part >= lp->d_npartitions) || (lp->d_partitions[part].p_fstype == FS_UNUSED))) { error = ENXIO; goto done; *************** *** 973,978 **** --- 973,979 ---- register int unit = cbp->cb_unit; int count, s; + s = splbio(); #ifdef DEBUG if (ccddebug & CCDB_FOLLOW) printf("ccdiodone(%x)\n", cbp); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message