Re: rex and sfsagent forwarding
Michael Kaminsky <[email protected]> Wed, 29 Dec 2004 10:58:46 -0500
| Newsgroups | gmane.comp.file-systems.sfs.general |
|---|---|
| Message-ID | <[email protected]> |
David Thiel [[email protected]] wrote: > Reading the rex whitepaper, it says that "when a user logs into a remote > machine, he should see the same file systems as on the local machine". > I take this to mean that when I mount an sfs filesystem such as > /sfs/@sfs.fs.net,uzwadtctbjb3dg596waiyru8cx5kb4an, then rex to another > machine, I should be able to see that filesystem in /sfs on the remote > machine, provided I've previously started sfsagent on my original > machine and that sfscd is running on the remote one. > > However, I'm not finding this to be the case - when I rex to the remote > machine, I get a message about the agent getting forwarded, but the /sfs > directory on the remote machine remains empty. Any suggestions? I believe that in the current version of SFS, the remote sfscd doesn't explicitly populate the remote /sfs directory with the files and directories that appear there on the local machine. The SFS directory functions as if those local files were there, though, automatically mounting remote file systems as needed. (This avoids the remote machine mounting all of the same file systems that the local machine had mounted at login time--instead, they are mounted on-demand.) To make symbolic links in /sfs work across all machines that you use with rex, you can set up "certification programs" as described in the SFS documentation. In particular, check out the man or info page for dirsearch. Based on the example there, you can access /sfs/sfs.fs.net on both your local machine and your remote one (though you won't see that symbolic link with ls on either machine until your access that name for the first time.) If you want to explicitly forward local /sfs links to the remote /sfs directory, you could use a small shell script wrapper to do so. For example, something like this #!/bin/sh LINKS=`find /sfs -type l -xdev -regex '^/sfs/\@.*,.+$' -print` for i in $LINKS; do rex -x $1 stat $i done rex $1 This is just a quick and lightly tested example (which generates lots of extra output), but it should get across the basic idea. Rexing to a remote machine multiple times is cheap because of session resumption, so the multiple logins shouldn't be noticable. Michael