In message <[EMAIL PROTECTED]>, "Bruce M. Simpson" writes: >> Modified files: >> sbin/atacontrol atacontrol.c >> Log: >> Recognize CFA devices using either identification method. > >Does this give the ata driver a means of identifying that a disk device >is actually a CompactFlash device?
I have the attached patch in sos@ mailbox for approval, that adds BIO_DELETE support for the ata driver. I also want to implement a -E option to fsck(8) to erase all unallocated blocks. And finally the big item: msdosfs and ufs support to issue BIO_DELETE when files are deleted. UFS is nasty because of soft-updates. Poul-Henning Index: ata-disk.c =================================================================== RCS file: /home/ncvs/src/sys/dev/ata/ata-disk.c,v retrieving revision 1.205 diff -u -r1.205 ata-disk.c --- ata-disk.c 23 Nov 2007 08:17:14 -0000 1.205 +++ ata-disk.c 16 Dec 2007 21:22:03 -0000 @@ -162,6 +162,9 @@ adp->disk->d_unit = device_get_unit(dev); if (atadev->param.support.command2 & ATA_SUPPORT_FLUSHCACHE) adp->disk->d_flags = DISKFLAG_CANFLUSHCACHE; + if ((atadev->param.support.command2 & ATA_SUPPORT_CFA) || + atadev->param.config == ATA_PROTO_CFA) + adp->disk->d_flags = DISKFLAG_CANDELETE; snprintf(adp->disk->d_ident, sizeof(adp->disk->d_ident), "ad:%s", atadev->param.serial); disk_create(adp->disk, DISK_VERSION); @@ -274,6 +277,12 @@ else request->u.ata.command = ATA_WRITE; break; + case BIO_DELETE: + request->flags = ATA_R_CONTROL; + request->u.ata.command = ATA_CFA_ERASE; + request->transfersize = 0; + request->donecount = bp->bio_bcount; + break; case BIO_FLUSH: request->u.ata.lba = 0; request->u.ata.count = 0; -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 [EMAIL PROTECTED] | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "[EMAIL PROTECTED]"