.TH MUX 4 .SH NAME mux \- file system multiplexor for failing over .SH SYNOPSIS .B mux [ .B \-abcd ] [ .B -m .I mnt ] .I attr .I val .B ... .SH DESCRIPTION .I Mux serves a name space coresponding to any resource registered using .IR registry (4) that matches attributes and values specified by .I attr and .I val arguments, including special values described in .IR query (1). By default, it speaks Styx in the standard input, for use with .IR mount (1) as in the example. Flag .B -m can be used to ask .I mux to mount itself at .IR mnt . Options .B -abc determine the mount flag, as in .IR bind (1). .PP .I Mux assumes that, for each registered resource, an attribute with name .B 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. .PP Upon failures (eg., I/O errors) of the resource, .I mux switches over to any other resource also matching the attributes. .PP 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 .I mux so that .IR bind (2) could be used, and caching of multiplexed files still works. .PP Flag .B -d is used to debug the program, and makes it very verbose. .SH EXAMPLE Given this registry, leave at .B /n/who any resource named .B who that works. Also, mount at .B /n/uwho any such resource, as long as its known location is the same known for the user, as reported in .BR /n/who/$user/where . .EX % 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' .EE .SH SOURCE .B /usr/octopus/port/mux .SH SEE ALSO .IR netget (1). and .IR pcns (1).