On Thu, Apr 2, 2009 at 7:26 PM, Robert Watson <rwat...@freebsd.org> wrote: >> In this moment I am considering also an userspace approach similar to >> Spotlight/Beagles, but I don't know how I could propose this as a FreeBSD >> GSoC project. > > I think that would make a fine GSoC proposal. Keep in mind that one of the > premises of Spotlight is the fsevents kernel feature, and fseventsd, which > allow Spotlight to subscribe to changes in trees and kick off reindexing as > required. Porting the fsevents API to FreeBSD is fairly straight forward, > with one exception: HFS+ offers a much more reliable notion of vnode->path > mapping, but it would be interesting to see how well our current vnode->path > mapping mechanisms would suffice in practice (since a lot of the edge cases > that don't work well with our mapping system are exactly that -- edge > cases).
This is in case of using UFS/FFS as the base fs or is a more general VFS issue? And what about ZFS? Since apple has not (partially) started to support it, IMHO it may be an interesting fs to investigate. > Between kernel and userspace parts there's quite a bit to do, but one > possibility would be to borrow parts from Mac OS X/etc that we need. For > example, do a literal port of the fsevents mechanism from XNU, provide our > own implementation that provides a similar API, or provide a new mechanism > that meets fseventd's semantic requirements for monitoring. This would definitely be an interesting approach. One of my original ideas was to have a look at how inotify has been implemented in linux, but probably fsevents would be a better choice (also license wise). > I'm probably blending reality with imagination here, but my vague > recollection is that the model was a slightly different blend of user vs. > application involvement in indexing. For how I see it now the steps for my work could be: 1) port/implement an event notification feature; 2) build a userspace indexer; 3) write a gui/search tool on top of it. > In the BeOS model, or my reinterpretation based on something I read a long > time ago and then presumably had dreams about, the split is a bit different: > the file system maintains indexes of extended attributes, which are written > by applications in order to expose searchable material. This sounds to me like adding another layer/proxy between the applications and the actual data. I found some material about node watch and extended attributes that I'm going to study in these days. > It's also worth observing that one of the authors of BFS was Dominic > Giampaolo, who now works on Apple's HFS+, and implemented fsevents there as > part of their Spotlight project. Thanks a lot for you feedback, you provided me a with lot of very interesting material to look up! Cheers. _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"