Re: TAKE2: Problems testing with IOStorageFamily.kext
Re: TAKE2: Problems testing with IOStorageFamily.kext
- Subject: Re: TAKE2: Problems testing with IOStorageFamily.kext
- From: Chris Walters <email@hidden>
- Date: Mon, 19 Jan 2004 11:58:39 +1100
Dan Markarian wrote:
Hi Chris,
You could just insert your own d_open and d_close routines which track
what you need and call into the original function when done.
I've traced the use of these function calls and my filesystem does not
close the device... it appears that something else behind the scenes on
a logout/login does it. If the device is reopened it works happily...
but I would expect that a user context shouldn't influence a devices state.
I am not sure why the debug driver does not load. You can verify it
with the following command after installing it. Be certain that the
source it built on the appropriate system version as well.
kextload -nt /System/Library/Extensions/IOStorageFamily.kext
I ran this and it said the kext appears to be valid. If I reboot with
the partition as the default startup system it displays an apple with a
black line above it (appearing like it is displaying text, maybe the
reason why it fails, but the box isn't big enough). If I boot with the
partition not as default then a "no entry" sign appears.
Note: I failed to mention the OS is 10.2.8 on G4.
Dan
On Jan 15, 2004, at 5:59 PM, Chris Walters wrote:
Dan Markarian wrote:
Hi Chris,
It sounds like your open on the device was closed at some point. The
strategy will return an EACCES on a read should that device not still
be open.
The Storage Family does not return EACCES on a read in any other
context, however, it is plausible the error came from a driver below
the family, of course.
This is the case... the device was closed, but I'm pretty sure it
wasn't by our driver. If I load my FileSystem from within a login the
strategy succeeds. What I find is when I log out and then back in
(even as the same user) I get the EACCES error. I initially ran into
this problem by starting my FileSystem on boot and trying to do tests
as a user.
I have traced using gdb into the media layer which returns the error.
I can only assume that another entity is closing the device (maybe
prompted by the logout or login). This is why I want to have a debug
version of IOStorageFamily so I can see when the device is closed. Any
ideas?
Thanks.
Dan
On Jan 14, 2004, at 6:33 PM, Chris Walters wrote:
I'm developing a File System which is getting an EACCES error from
doing a strategy call to the IOStorageFamily. I need to be able to
build and install a debug version of IOStorageFamily. Building it is
easy (with either ProjectBuilder or pbxbuild)... the problem is when
I install and restart the system I get the "No Entry" symbol.
Could somebody explain why my kext isn't working...
* do I have to copy more than just the kext?
* is there a difference between building with ProjectBuilder or
pbxbuild?
Thanks.
_______________________________________________
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.
_______________________________________________
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.
_______________________________________________
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.
_______________________________________________
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.