Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Feb 1998 22:31:08 -0600
From:      Chris Csanady <ccsanady@friley585.res.iastate.edu>
To:        freebsd-current@FreeBSD.ORG
Subject:   CCD missing spl() call..
Message-ID:  <199802150431.WAA00428@friley585.res.iastate.edu>

next in thread | raw e-mail | index | archive | help

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199802150431.WAA00428>