git: 9front

ref: bcf7b2ee4598ef64a1d99348dac04cb1df701231
dir: /sys/man/3/shr/

View raw version
.TH SHR 3 
.SH NAME
shr \- global mountpoints
.SH SYNOPSIS
.nf
.B bind -a '#σ/share' /dev

.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 9p services can be mounted and unmounted dynamically.

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 themselve and in the control tree
.BI #σc
share directories can be created or removed.
.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 9p service.  Any process
with the proper permission may then access
.B #σ/myshare
to use the service.
.PP
Multiple services can be mounted under a share.  New services get
mounted before old ones.  Removing the service file from a share
removes the service as soon as the last reference goes away.
.SH SOURCE
.B /sys/src/9/port/devshr.c