Hello, On Tue, Jul 07, 2009 at 08:55:37PM +0300, Sergiu Ivanov wrote: > It was agreed that unionmount should forward some of the RPCs invoked > on its control port to the mountee. Most (if not all) of such RPCs > are the fsys_* ones. I've made up a list of RPCs which should be > proxied in my opinion and I've also added a short explanation as to > how this proxying should work:
After a some discussion I can build the (more or less) final (and, BTW, complete) version of the list: * fsys_startup: this RPC is invoked by the translator on its bootstrap port, so forwarding does not make sense for it; * fsys_goaway: both the unionfs (unionmount) and the mountee should go away. * fsys_getroot: this RPC should be handled completely within unionfs to preserve consistency; note that trying to forward this RPC will result in a complete vanishing of unionfs, since all lookups will actually take place in the mountee's filesystem; * fsys_getfile: the implementation of this RPC should be left in its default version (returning EOPNOTSUPP); why this should be so is explained in the preceding discussion; * fsys_syncfs: both the mountee and unionfs should be synced; * fsys_set_options: in transparent mode this RPC should be completely forwarded to the mountee; in non-transparent mode this RPC should be handled in unionfs first and the (possibly) new value for the ``--mount'' option should be delegated to the mountee; * fsys_getpriv: * fsys_init: fsys.defs says that these RPCs should only be implemented by bootstrap filesystems; since unionfs will hardly ever be a bootstrap filesystem, these RPCs will not be implemented; * fsys_forward: in the previous discussion there is a short explanation why this RPC should be left implemented in the default version (returning EOPNOTSUPP); * fsys_get_options: in transparent mode this RPC should be completely forwarded to the mountee; in non-transparent mode the result should be constructed by obtaining the options of the mountee and listing them as the value of option ``--mountee'', together with other unionfs options. Regards, scolobb