On 6/3/07, Amit Singh <[EMAIL PROTECTED]> wrote:

> What is your motivation? Do you want the Finder to know that the file
> is gone,

That's pretty much my motivation. I know you already said that the
Finder won't recognise any MacFUSE file system as supporting kqueue,
but it might be possible to hack around this (e.g. a daemon monitoring
fsevents and sending FNNotify / noteFileSystemChanged: notifications).
Indeed, demonstrating an interesting "push" filesystem might be a good
driver for the Finder team to make it support kqueue properly for
MacFUSE. (By the way, can you give us more idea of what the problem is
here? I thought maybe it had to do with the early zeroed-out stat
MacFUSE sends, but I notice you've obsoleted the Wiki document
MACFUSE_AND_THE_FINDER.)

> or do you just want to ensure that sane things happen if the
> file goes away unbeknownst to MacFUSE (kernel)?

Whether files exist, what they're called, etc., is essentially up to
the daemon, right? I mean, in procfs, for example, files go away
unbeknownst to MacFUSE (kernel), because processes terminate. As
things stand, procfs is purely a "pull" filesystem: any time you ask
for the contents of the root of the filesystem, it gives you the
latest snapshot of which processes exist. If, for each of these
processes, the procfs daemon set up a EVFILT_PROC and monitored
NOTE_EXIT and NOTE_CHILD, it could keep up to date of processes coming
into being and dying (there may be some easier way to do this, some
sort of process equivalent of fsevents I don't know about). If the
daemon could then send notifications of creation and deletion of
directories in the root of the filesystem, you would be able to watch
processes coming and going in a Finder window. That is to say, procfs
would be (to some extent) a "push" filesystem too.

Another example would be that SpotlightFS could run live asynchronous
queries, with results (files) appearing (being created) as they arrive
rather than when a synchronous query has fully completed, and with
further matches appearing if they come into being, observable live in
a Finder window (i.e., just like the current behaviour of smart
folders).

> MacFUSE already tries
> to do the latter. If the former, what exact behavior are you looking
> for?

I want to be able to have the contents of Finder windows update in
real time as changes occur in the file system, where those changes are
prompted purely by the file system daemon for whatever reason it deems
fit, rather than just as a reaction to external modifications of the
file system. I understand that Finder does not yet support kqueue in
MacFUSE properly, but I think that this can be worked around.

Hope this is clearer,
Thanks,
Hamish

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"macfuse-devel" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/macfuse-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to