mount kfs file to /n/local

22 views
Skip to first unread message

Go Phone

unread,
Jul 14, 2021, 9:54:16 PM7/14/21
to inferno-os

Hello,

I can get this command to work fine in a shell window:

mount -c {disk/kfs -r kfs.file} /n/local

But, I cannot figure out how to use the /n/local from other shell windows or acme win.

There probably is a command to post the stdin of the command {disk/kfs kfs.file} to /chan/file.  I can probably mount that /chan/file to /n/local from other shell windows that wants to use /n/local. Any suggestions on what that command might be?

Thanks

bhgv

unread,
Jul 15, 2021, 3:43:43 AM7/15/21
to inferno-os
namespaces in inferno is virtual. when a parent spawns a child it (parent) gives his (parent's) virtual namespace (filesystem view) to child.
so the children of the shell there you did `mount -c {disk/kfs -r kfs.file} /n/local` may see and use mount in /n/local.
..but other (not children or children of children of shell where you did mount) can't (but they may see and use their own data there).
четверг, 15 июля 2021 г. в 04:54:16 UTC+3, Go Phone:

Go Phone

unread,
Jul 15, 2021, 9:12:26 AM7/15/21
to inferno-os
..but other (not children or children of children of shell where you did mount) can't (but they may see and use their own data there).

I understand that this is what is happening. I want to know the proper/inferno way of splitting the mount -c {disk/kfs kfs.file} /n/local so that I can have multiple clients use the same kfs.file.

% styxlisten -A 'tcp!master!8000' {disk/kfs /usr/joe/kfs.file}
% kfs: initializing minimal user table

on this and other shell windows (or, acme win) without /n/local in the namespace, I do:
% mount -A -c tcp!master!8000 /n/local
mount: can't dial tcp!master!8000: Connection refused

I can (I think) figure out why the mount command above fails for me if these steps are expected to work.

Thanks

bhgv

unread,
Jul 15, 2021, 1:26:18 PM7/15/21
to inferno-os
> I want to know the proper/inferno way of splitting the mount -c {disk/kfs kfs.file} /n/local so that I can have multiple clients use the same kfs.file.

you may run your `mount -c {disk/kfs kfs.file} /n/local` and after from that shell window for example
```
wm/sh &
wm/sh &
..and so on
```

or you may run inferno not to wm/wm but in the premier shell. example:
```
emu  # parameters but without ending wm/wm
# wait until apieared black shell window. type into it
mount -c {disk/kfs kfs.file} /n/local
# maybe other settings in the global namespace
wm/wm
# now all wm/wm use your own namespace
```
or you may try to use emu-commandline parameters. like:
```
./emu -r$PWD/../../.. sh -c "{bind -a /dev /n ; ls /n ; wm/wm}"  # from Linux/386/bin folder
# i don't sure that this will work with ethernet mount. but you may try
```

or you may set what you want here:

or change scripts in <inferno_root>/usr/inferno/namespace  # not sure about ethernet again

or do like here

> mount: can't dial tcp!master!8000: Connection refused
is the address 'main' accessible?
is the port 8000 exists and accessible?

try to wryte something like "tcp!192.168.XXX.XXX!8000"
where 192.168.XXX.XXX is ip address of machine from there you serve styx. and enum opened ports on it (ex: zenmap)
also you may use wireshark or tcpdump to see net packets
четверг, 15 июля 2021 г. в 16:12:26 UTC+3, Go Phone:
Reply all
Reply to author
Forward
0 new messages