[haiku-development] Re: ioctl

  • From: Brecht Machiels <brecht@xxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Mon, 27 Jul 2009 00:23:20 +0000

Ingo Weinhold wrote:
> replying here, since my mails to you keep bouncing:
>
> Hi. This is the qmail-send program at mail.gmx.net.
> I'm afraid I wasn't able to deliver your message to the following addresses.
> This is a permanent error; I've given up. Sorry it didn't work out.
>
> <brecht@xxxxxxxxxxx>:
> 83.101.57.79_does_not_like_recipient./Remote_host_said:_554_5.7.1_Service_unavailable;_Client_host_[213.165.64.20]_blocked_using_dnsbl.sorbs.net;_Currently_Sending_Spam_See:_http://www.sorbs.net/lookup.shtml?213.165.64.20/Giving_up_on_83.101.57.79./

It appears SORBS have some false positives occasionally. I've removed it from my RBL list. You should be able to reach me again now.

> ioctl() can be called on any file or directory as well. The vnode's ioctl()
> hook will be called. If you're using the userlandfs, you must explicitly
> specify which ioctls it shall tunnel to the client FS via a kernel settings > file. Have a look at src/add-ons/kernel/file_systems/userlandfs/userlandfs.

Great. It's working now!

>> When I mount assignfs (not specifying a device), assignfs_mount() is
>> called with device = "//". Shouldn't this be NULL?
>
> Doesn't sound right indeed. Please file a Trac ticket for that, so that it
> won't get forgotten.

http://dev.haiku-os.org/ticket/4125
For you to fix, as I'm not sure what Address does. Not a blocker for me, so take your time :)

>> On a related note, I have implemented open(), read(), close() and
>> free_cookie() only for files. BFS seems to implement these for
>> directories too (except perhaps read() - I haven't checked the sources).
>> Is this required? What is it used for?
>
> Yes, that's indeed required. The open()/close() hooks are basically the
> backends for the equally named POSIX functions and those are supposed to
> work on directories, too. read() and write() must fail for directories,
> though.

What is the purpose of being able to open() directories? Pointing me to a reference is fine. I haven't been able to find anything on it.

Brecht

Other related posts: