MUX(4) MUX(4) NAME mux - file system multiplexor with fail over support SYNOPSIS o/mux [ -abcd ] [ -m mnt ] attr val ... DESCRIPTION Mux serves a name space coresponding to any resource regis- tered using registry(4) that matches attributes and values specified by attr and val arguments, including special val- ues described in query(1). By default, it speaks Styx in the standard input, for use with mount(1) as in the example. Flag -m can be used to ask mux to mount itself at mnt. Options -abc determine the mount flag, as in bind(1). Mux assumes that, for each registered resource, an attribute with name path contains an absolute path for reaching its root directory in the current name space. It simply picks one of the matching resources and serves (using Styx) its file tree. Note that the convention in the Octopus is that the registry contains paths valid on the PC Inferno's names- pace. Terminals and host systems namespaces may differ. Upon failures (eg., I/O errors) of the resource, mux switches over to any other resource also matching the attributes. Upon failure, open fids for the failing resource report I/O error to the client process(es). However, any other fids are switched to use files in the new resource used. Qids are rewritten by mux so that bind(2) could be used, and caching of multiplexed files still works. Flag -d is used to debug the program, and makes it very ver- bose. EXAMPLE Given this registry, leave at /n/who any resource named who that works. Also, mount at /n/uwho any such resource, as long as its known location is the same known for the user, as reported in /n/who/$user/where. % cat /mnt/registry/index pc!where arch Plan9386 loc none path /term/pc/where name where pc!who arch Plan9386 loc none path /term/pc/who name who pc!what arch Plan9386 loc none path /term/pc/what name what Atlantian.local!who loc home path /term/Atlantian.local/who name who Atlantian.local!what loc home path /term/Atlantian.local/what name what % mount -Ac {o/mux name who} /n/who % o/mux -m /n/uwho name who loc '$user' MUX(4) MUX(4) SOURCE /usr/octopus/port/mux SEE ALSO namespace(4), netget(1), and pcns(1).