Network BFS

Does anybody know the current status of network file system support in Haiku, specifically the ability to mount a remote BFS drive with full query functionality? NFS and CIFS are no good, they lack attributes and queries.

I recall some time ago BeServed was open sourced and given to Haiku, but I don’t know what ever happened to that. If there is no existing development in this area, I’m interested in doing something.

The specific application I have in mind is a server machine acting as a large-capacity file server for a couple of Haiku systems, which have limited local storage. The operating system of the server does not matter, but it needs to have a 100% stable, corruption-free filesystem implementation. BeOS R5 or FreeBSD would be acceptable, I’m not sure how robust Haiku’s filesystem implementation is in a server application like this where data loss or corruption cannot be tolerated.

One possible design I have in mind involves using a system such as FreeBSD in conjunction with a database. The database would store the attributes for the files, and most importantly, index the attributes. This eliminates the need to run BeOS or Haiku on the server, and being a true database the search performance should be rather fast. Write performance might be slower but I don’t care about that - servers tend to be used for bulk storage rather than fast manipulation of files. As a result there should be no need for “mkindex” - every attribute including filename will be indexed from the start.

On the Haiku side, a filesystem driver would make this appear as if it were a native BFS drive. Queries will work as usual (faster thanks to the database.)
I don’t specifically require live queries to work across multiple machines (modify a file on machine A and it shows up in machine B’s live query) but it would be desirable for completeness.

If there is some existing network file system support that can be built atop of, it would greatly reduce the amount of effort required in implementing this. In particular some kind of filesystem driver on Haiku, then all I have to worry about is writing server-side software to speak the right network protocol rather than trying to figure out how to write a filesystem driver.

“Does anybody know the current status of network file system support in Haiku”

As far as I know your choices are NFS or Samba. A lot of work was recently completed on NFS, but extended attributes are not one of those.

Here’s BeServed:

  • http://haikuware.com/directory/view-details/internet-network/servers/beserved
. Would it be possible for you to install it, test it, and give a report?

You are looking for netfs, not to be confused with nfs. Netfs is an Haiku add-on that must be included at build time. It requires userlandfs and has a netfs server that supporets attributes and searching… sort-of it’s very slow as I recall. I haven’t tested it for about a year, and it may or may not not still work with the current Haiku builds.

Is this the old BeOS version, or has it been updated for Haiku? I recall discussion of an issue of incompatibility between the BeOS filesystem API and the Haiku one, that would require changes to BeServed. Not sure if anyone got around to doing that.

Thanks bbjimmy, this is what I was hoping would be in development. Is rebuilding Haiku the only way of getting support for netfs, or can the add-on be compiled independently and dropped into a running system like a driver?

From what I understand, it needs some support added to the kernel. So, yes, one needs to build haiku with the netfs package included in the build script.

I hope this changes soon.