New SCSI Driver for Mac OS X

Ken Thomases ken at codeweavers.com
Wed Apr 28 18:02:02 CDT 2010


Hi Charles,

Are the DKIOCPREVENT and DKIOCALLOW ioctls necessary?  DiskArbitration already has a facility for clients to refuse mount/unmount/eject requests.

http://developer.apple.com/mac/library/documentation/Darwin/Reference/DiscArbitrationFramework/DiskArbitration_h/

Among other things, if Wine uses your driver to lock the media and then crashes, is there any way for the user to recover and unlock the media?  Also, I don't know enough about the driver model to know if multiple user clients can compete or conflict for locking the media.  For example, if two processes lock the media and only one unlocks it, is it locked or unlocked?  DiskArbitration avoids these pitfalls.


Also, at <http://xnu-extras.git.sourceforge.net/git/gitweb.cgi?p=xnu-extras/xnu-extras;a=blob;f=ExtMediaBSDClient.cpp;h=154dbd709476e682e86f14891b2fbc9fb9efa311;hb=HEAD#l154>, there's a mismatch between "path+6" and "pathlen-5", no?  That's an argument for using strlcat, instead, isn't it? 

(By no means does the above mean I've done a thorough code review.  It's just something I noticed.)

Regards,
Ken




More information about the wine-devel mailing list