[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: What can a translator do that FUSE can’t?
From: |
Roland McGrath |
Subject: |
Re: What can a translator do that FUSE can’t? |
Date: |
Tue, 13 Jul 2010 15:53:34 -0700 (PDT) |
There are two core things about translators vs other systems' filesystems:
1. passive translators. Other systems approximate this with things like
automount mount points. Hurd translators can be (and usually are)
permanently associated with a file on the containing filesystem. In
Unix terms, it means that every file might be an automounting mount
point. There is no central administrative overhead associated with
that, so it can be used more casually and pervasively than filesystem
mountpoints traditionally are, even with FUSE.
2. They are naming points for arbitrary RPCs.
In FUSE, the only kind of interface available is the filesystem
interface. If you want to have special magic operations, you represent
those in the vocabulary of a filesystem.
The Hurd is a generically RPC-based system in a deep way. Every kind
of subsystem in the Hurd universe is contacted via RPCs, with
appropriately specialized calls for whatever you want to do.
Filesystems (translators) are the standard rendezvous point for
finding a receiver for RPCs, but they do not constrain the interface
that client and server can use once they've made the rendezvous.
Thanks,
Roland