site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com On Aug 5, 2007, at 7:07 PM, Jim Clause wrote: This is very similar to a hypothetical virus scanner so many of the techniques should apply. I've read TN2127 and the list archives about implementing a virus scanner and one question that's never been definitively answered is how the kernel can block and then call out to a user level application. In fact TN2127 says in the Listener Gotchas section that the only foolproof method is the implement the scanner completely in the kernel. Is this still the recommended approach? If it is will I be able to implement my version of Time Machine? = Mike _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... It is legitimate to block in the VNODE scope handlers; the kernel will do this in some cases. What you're describing (a lazy file backup mechanism) is quite practical, but note that it may have a very poor user experience (due to high latency introduced by blocking file opens while making backups). You may find it wiser to perform deferred last-close backups; wait for a few seconds after a FILEOP_CLOSE notification (so you don't backup something that's going to be opened or deleted shortly afterwards) and then make the backup in the background. Yes, I know that you're envisaging an "undo" semantic, but trust me, users like to have backups that protect them from more than just their own mistakes... This email sent to site_archiver@lists.apple.com