Jan,

This is good.  It looks to me like cgd_detach() must run both the code
at the CGDIOCCLR case in cgdioctl(),

        case CGDIOCCLR:

                if (DK_BUSY(&cs->sc_dksc, pmask))
                        ret = EBUSY;
                else
                        ret = cgd_ioctl_clr(cs, l);
                break;

and the code in cgd_ioctl_clr(), or else a cgd instance will enter an
inconsistent state during system shutdown or drvctl -d.

Dave

-- 
David Young             OJC Technologies
[email protected]      Urbana, IL * (217) 278-3933

Reply via email to