50 lines
1.2 KiB
Text
50 lines
1.2 KiB
Text
![]() |
.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
|