On Sun, May 20, 2007 at 10:16:15AM +0900, YONETANI Tomokazu wrote: > OK, I fixed ccd.conf and issued ccdconfig commands above, and I got > # ccdconfig -U > ccdconfig: ioctl (CCDIOCCLR): /dev/ccd0: Device not configured > ccdconfig: ioctl (CCDIOCCLR): /dev/ccd1: Device not configured > # ccdconfig -C > ad1s1: type 0xa5, start 63, end = 117226304, size 117226242 : OK > ccd0: /dev/ad0s1e: filesystem type must be 'ccd'
Hmm, I think that the following check in ccdinit() is bogus in that it expects the *component* to have fstype=FS_CCD, but actually it's fstype=FS_BSDFFS and fstypestr="". I see there's no chance to write that information to underlying components without successful ccdinit. if (dpart.fstype != FS_CCD && strcmp(dpart.fstypestr, "ccd") != 0) { kprintf("ccd%d: %s: filesystem type must be 'ccd'\n", ccd->ccd_unit, ci->ci_path); error = EFTYPE; goto fail; } After removing this check, ccdconfig succeeds and I can read from /dev/ccd0. The first block of /dev/ccd0 is already zero, but I get a kernel message when I mount it: # mount /dev/ccd0s0a /mnt ccd0t127: invalid primary partition table: no magic I tried cpdup'ing an obj tree that was remaining in this partition without a problem.