plan9fox/sys/man/3/shr
2017-12-11 19:58:06 -05:00

78 lines
1.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.TH SHR 3
.SH NAME
shr \- global mountpoints
.SH SYNOPSIS
.nf
.B bind '#σ' /shr
.BI #σ/ share1
.BI #σc/ share1/service1
.BI #σc/ share1/service2
...
.fi
.SH DESCRIPTION
The
.I shr
device provides global mountpoints in the form of share directories
where
.IR 9P
services can be mounted.
Effectively, it is a global mountpoint registry that is separate from
private namespaces.
.PP
The
.I shr
device exports a mount tree and a control tree.
The directories
in the mount tree
.BI #σ
are the share mountpoints themselves, while the directories in
.BI #σc
contain the service files of the share.
.PP
To create a new share, create the directory
.B #σc/myshare
To mount a service in that share, create the file
.B #σc/myshare/myserv
and then write a text string (suitable for
.IR strtoul ;
see
.IR atof (2))
giving the file descriptor number of an open
.I 9P
service. Any process
with the proper permission may then access
.B #σ/myshare
on the mount tree.
.PP
The service file can be reopened and passed to
.IR mount
(see
.IR bind (2))
or added to another share.
.PP
Multiple services can be mounted under a share forming a union
directory. New services get mounted before old ones.
Removing the service file unmounts the service from the share.
.PP
Creating shares and mounts requires read-write access in the share
directory. The special user
.B none
is prohibited from these operations.
.SH EXAMPLES
To mount a 9p service from
.IR srv (3)
to the shr device
.IP
.EX
mkdir '#σc'/myshare
echo 3 > '#σc'/myshare/myserv <>[3]/srv/myserv
.EE
.SH SOURCE
.B /sys/src/9/port/devshr.c
.SH HISTORY
.I Shr
first appeared in 9front (July, 2011).