<commit_before>.\" $Id$
.\" %GPL_START_LICENSE%
.\" ---------------------------------------------------------------------
.\" Copyright 2015-2016, Google, Inc.
.\" Copyright (c) 2008-2015, Pittsburgh Supercomputing Center (PSC).
.\" All rights reserved.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License, or (at
.\" your option) any later version.
.\"
.\" This program is distributed WITHOUT ANY WARRANTY; without even the
.\" implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
.\" PURPOSE.  See the GNU General Public License contained in the file
.\" `COPYING-GPL' at the top of this distribution or at
.\" https://www.gnu.org/licenses/gpl-2.0.html for more details.
.\" ---------------------------------------------------------------------
.\" %END_LICENSE%
.\" %PFL_MODULES lnet pflenv %
.Dd February 29, 2016
.Dt SLASH2CLIENT.SO 5
.ds volume PSC \- SLASH2 Administrator's Manual
.Os http://www.psc.edu/
.Sh NAME
.Nm slash2client.so
.Nd mount a
.Tn SLASH2
file system
.Sh SYNOPSIS
.Nm slash2client.so
.Sh DESCRIPTION
The
.Nm
utility attachs a
.Tn SLASH2
file system under the specified
.Ar mountpoint .
.Pp
The options are as follows:
.Bl -tag -width Ds
.It Fl d
Enable low-level file system debug messages.
.It Fl o Ar mountopt
Specify additional behavioral options.
The options are as follows:
.Bl -tag -width Ds
.It Ic acl
Enable
.Dq POSIX
access control list
.Pq ACL
support.
.It Ic ctlsock Ns = Ns Ar path
Specify an alternative path for the named socket through which
.Nm
operation can be controlled via
.Xr msctl 8 .
The following tokens are replaced in the file name specified:
.Pp
.Bl -tag -offset indent -width Ds -compact
.It Ic %h
the machine hostname
.It Ic %%
a literal
.Sq %
character
.El
.Pp
The default is
.Pa /var/run/mount_slash. Ns Ic %h Ns Pa .sock .
.It Ic datadir Ns = Ns Ar path
Specify an alternative directory where runtime configuration is
accessed.
Defaults to
.Pa /var/lib/slash .
.It Ic mapfile
Use the map file named 
.Pa /var/lib/slash/mapfile
.Pq or wherever the data directory is configured; see Ic datadir
for translating local user account IDs to global SLASH2 user IDs and
vice versa as necessary.
The concept of
.Dq global
simply means the user account IDs present on the MDS.
.Pp
The format of each line in this file is:
.Bd -literal -offset 4n
.Ic user local Ar uid Ic remote Ar uid
.Ed
.Pp
Group mappings may also specified:
.Bd -literal -offset 4n
.Ic group local-uids Ar uid ... Ic remote Ar gid
.Ed
.Pp
An empty line or a line that starts with the # sign in the map file is ignored.
.It Ic pagecache_maxsize Ns = Ns Ar size
Specify the maximum amount of memory to which the file data cache can
grow.
A good heuristic is 10% of available system memory but proper tuning
depends heavily on workload characteristics.
.Pp
Human-readable sizes are recognized
.Pq e.g. Li 4g for 4 GiB .
.Pp
Defaults to
.Li 512m .
.It Ic root_squash
Enable root squash.
Root squash mode disables traditional superuser access and instead
treats superuser like any other user.
Note that this is not a security feature per se but more of a guard
against accidental behavior.
.It Ic slcfg Ns = Ns Ar path
Specify an alternative configuration file.
Defaults to
.Pa /etc/slash/slcfg .
.It Ic statfs_pref_ios_only
When retrieving
.Xr statfs 2
information
.Pq e.g.\& via Xr df 1 ,<commit_msg>fix uid/gid mapping man pages.<commit_after>.\" $Id$
.\" %GPL_START_LICENSE%
.\" ---------------------------------------------------------------------
.\" Copyright 2015-2016, Google, Inc.
.\" Copyright (c) 2008-2015, Pittsburgh Supercomputing Center (PSC).
.\" All rights reserved.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License, or (at
.\" your option) any later version.
.\"
.\" This program is distributed WITHOUT ANY WARRANTY; without even the
.\" implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
.\" PURPOSE.  See the GNU General Public License contained in the file
.\" `COPYING-GPL' at the top of this distribution or at
.\" https://www.gnu.org/licenses/gpl-2.0.html for more details.
.\" ---------------------------------------------------------------------
.\" %END_LICENSE%
.\" %PFL_MODULES lnet pflenv %
.Dd February 29, 2016
.Dt SLASH2CLIENT.SO 5
.ds volume PSC \- SLASH2 Administrator's Manual
.Os http://www.psc.edu/
.Sh NAME
.Nm slash2client.so
.Nd mount a
.Tn SLASH2
file system
.Sh SYNOPSIS
.Nm slash2client.so
.Sh DESCRIPTION
The
.Nm
utility attachs a
.Tn SLASH2
file system under the specified
.Ar mountpoint .
.Pp
The options are as follows:
.Bl -tag -width Ds
.It Fl d
Enable low-level file system debug messages.
.It Fl o Ar mountopt
Specify additional behavioral options.
The options are as follows:
.Bl -tag -width Ds
.It Ic acl
Enable
.Dq POSIX
access control list
.Pq ACL
support.
.It Ic ctlsock Ns = Ns Ar path
Specify an alternative path for the named socket through which
.Nm
operation can be controlled via
.Xr msctl 8 .
The following tokens are replaced in the file name specified:
.Pp
.Bl -tag -offset indent -width Ds -compact
.It Ic %h
the machine hostname
.It Ic %%
a literal
.Sq %
character
.El
.Pp
The default is
.Pa /var/run/mount_slash. Ns Ic %h Ns Pa .sock .
.It Ic datadir Ns = Ns Ar path
Specify an alternative directory where runtime configuration is
accessed.
Defaults to
.Pa /var/lib/slash .
.It Ic mapfile
Use the map file named 
.Pa /var/lib/slash/mapfile
.Pq or wherever the data directory is configured; see Ic datadir
for translating local user account IDs to global SLASH2 user IDs and
vice versa as necessary.
The concept of
.Dq global
simply means the user account IDs present on the MDS.
.Pp
Each line in this file should start with one of two keywords: user and group. The format
of each line are illustrated as follows:
.Bd -literal -offset 4n
.Ic user local Ar uid1 Ic remote Ar uid2
.Ed
.Pp
The above line maps local uid uid1 to remote uid uid2 and vice versa. The keyword
local and remote can appear in any order. In other words, the following line can achieve
the same effect:
.Bd -literal -offset 4n
.Ic user remote Ar uid2 Ic local Ar uid1
.Ed
.Pp
The following line map local group gid1 to remote group gid2
.Bd -literal -offset 4n
.Ic group local Ar gid1 Ic remote Ar gid2
.Ed
.Pp
The following line maps remote gid gid3 to local gid gid4.
.Bd -literal -offset 4n
.Ic group remote Ar gid3 Ic local Ar gid4
.Ed
.Pp
Unlike user mapping, group mapping is done one way only. Finally, an empty line or a line that starts with 
the # sign in the map file is ignored. Empty spaces in each line are also ignored whenever appropriate.
.Ed
.It Ic pagecache_maxsize Ns = Ns Ar size
Specify the maximum amount of memory to which the file data cache can
grow.
A good heuristic is 10% of available system memory but proper tuning
depends heavily on workload characteristics.
.Pp
Human-readable sizes are recognized
.Pq e.g. Li 4g for 4 GiB .
.Pp
Defaults to
.Li 512m .
.It Ic root_squash
Enable root squash.
Root squash mode disables traditional superuser access and instead
treats superuser like any other user.
Note that this is not a security feature per se but more of a guard
against accidental behavior.
.It Ic slcfg Ns = Ns Ar path
Specify an alternative configuration file.
Defaults to
.Pa /etc/slash/slcfg .
.It Ic statfs_pref_ios_only
When retrieving
.Xr statfs 2
information
.Pq e.g.\& via Xr df 1 ,
{'fraction_non_alphanumeric': 0.10572514083584436, 'fraction_numerical': 0.013887069304336435, 'mean_word_length': 2.9657142857142857, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6175123', 'n_tokens_mistral': 2481, 'n_tokens_neox': 2289, 'n_words': 1179}