Re: Changes to Disk Arbitration in Panther
On Feb 14, 2004, at 1:36 PM, Marek Kozubal wrote:
On Wed, 4 Feb 2004, Ron Aldrich wrote:
Folks,
Does anyone know where to find documentation for the changes made to
disk arbitration in panther?
Look at the source code. Thats all there is.
I've finally gotten some time to look at updating our ReadDVD product
for 10.3, and it seems like our filesystem isn't being recognized by
the system at all, even though it appears to be installed identically
to the other filesystems.
DA was rewritten between 10.2 and 10.3. There is a new "almost public"
API now that you need to use.
(If anyone has suggestions for debugging it, I'm all ears - I've been
away from it long enough to have forgotten most of my old tricks).
In the file /etc/mach_init.d/diskarbitrationd.plist you can add
-d to the "Command" string to turn on debugging which ends up in like
/var/log/diskarbitration.log or some such.
---
Marek Kozubal
marek@portents.com
I enabled debugging in diskarbitrationd.plist, and after inserting a disk, I found the following in /var/log/diskarbitrationd.log 18:40:25 diskarbitrationd [90] -> diskarbitrationd [90] 18:40:25 probed disk, id = /dev/disk2, with SAI_udf, ongoing. 18:40:25 probed disk, id = /dev/disk2, with SAI_udf, failure. 18:40:25 probed disk, id = /dev/disk2, with udf, ongoing. 18:40:25 probed disk, id = /dev/disk2, with udf, success. 18:40:25 18:40:25 diskarbitrationd [90] -> SystemUIServer [333]:14339 18:40:25 dispatched callback, id = 907F45EC:00000000, kind = disk mount approval, disk = /dev/disk2. 18:40:25 dispatched callback queue. 18:40:25 18:40:25 SystemUIServer [333]:14339 -> diskarbitrationd [90] 18:40:25 dispatched response, id = 907F45EC:00000000, kind = disk mount approval, disk = /dev/disk2, approved. 18:40:25 18:40:25 diskarbitrationd [90] -> diskarbitrationd [90] 18:40:25 mounted disk, id = /dev/disk2, ongoing. 18:40:26 mounted disk, id = /dev/disk2, failure. 18:40:26 unable to mount /dev/disk2 (status code 0x00000001). This tells me that disk arbitration is finding my file system, but for some reason it fails when it tries to probe it. As far as I can tell, it never actually launches SAI_udf.util - for some reason it fails before it gets that far. It then continues on, and fails later, when Apple's UDF tries to mount the disc (the disc is formatted as UDF 2.01, so Apple's UDF won't touch it). I tried hard coding the full path to SAI_udf.util (/System/Library/Filesystems/SAI_udf.fs/SAI_udf.util) in my Info.plist, but that had no effect. I also tried changing my probe order value from 500 to 1500 (Apple's udf probe order value is 1000), but that just made it so that disk arbitration never even tried to probe SAI_udf. I tried searching around in what bit of the darwin sources I currently have available (xnu-517.3.7) for "probed disk" to find where the error message is being generated, but I can't find that string, and since Apple seems to have done their best to make it extremely difficult to check all of darwin out from CVS, I really don't want to have to load it project by project, just to search it. (Does anyone know a trick for checking all of darwin out at once? Or failing that, how to get a list of all of the module names?) Thanks, Ron Aldrich Software Architects, Inc. _______________________________________________ darwin-kernel mailing list | darwin-kernel@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-kernel Do not post admin requests to the list. They will be ignored.
participants (1)
-
Ron Aldrich