Re: Changes to Disk Arbitration in Panther
Re: Changes to Disk Arbitration in Panther
- Subject: Re: Changes to Disk Arbitration in Panther
- From: Ron Aldrich <email@hidden>
- Date: Mon, 16 Feb 2004 19:06:10 -0800
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
>
email@hidden
>
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 | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/darwin-kernel
Do not post admin requests to the list. They will be ignored.