OpenCloudOS-Kernel/fs/afs
David Howells 6f8880d8e6 afs: Implement @sys substitution handling
Implement the AFS feature by which @sys at the end of a pathname component
may be substituted for one of a list of values, typically naming the
operating system.  Up to 16 alternatives may be specified and these are
tried in turn until one works.  Each network namespace has[*] a separate
independent list.

Upon creation of a new network namespace, the list of values is
initialised[*] to a single OpenAFS-compatible string representing arch type
plus "_linux26".  For example, on x86_64, the sysname is "amd64_linux26".

[*] Or will, once network namespace support is finalised in kAFS.

The list may be set by:

	# for i in foo bar linux-x86_64; do echo $i; done >/proc/fs/afs/sysname

for which separate writes to the same fd are amalgamated and applied on
close.  The LF character may be used as a separator to specify multiple
items in the same write() call.

The list may be cleared by:

	# echo >/proc/fs/afs/sysname

and read by:

	# cat /proc/fs/afs/sysname
	foo
	bar
	linux-x86_64

Signed-off-by: David Howells <dhowells@redhat.com>
2018-04-09 21:12:31 +01:00
..
Kconfig fs/afs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:04 -08:00
Makefile afs: Overhaul volume and server record caching and fileserver rotation 2017-11-13 15:38:19 +00:00
addr_list.c afs: Fix checker warnings 2018-04-09 21:12:31 +01:00
afs.h afs: Prospectively look up extra files when doing a single lookup 2018-04-09 21:12:31 +01:00
afs_cm.h afs: support the CB.ProbeUuid RPC op 2008-04-29 08:06:26 -07:00
afs_fs.h afs: Prospectively look up extra files when doing a single lookup 2018-04-09 21:12:31 +01:00
afs_vl.h afs: Make use of the YFS service upgrade to fully support IPv6 2017-11-13 15:38:19 +00:00
cache.c fscache: Pass object size in rather than calling back for it 2018-04-06 14:05:14 +01:00
callback.c afs: Prospectively look up extra files when doing a single lookup 2018-04-09 21:12:31 +01:00
cell.c afs: Don't over-increment the cell usage count when pinning it 2018-04-09 21:12:31 +01:00
cmservice.c afs: Prospectively look up extra files when doing a single lookup 2018-04-09 21:12:31 +01:00
dir.c afs: Implement @sys substitution handling 2018-04-09 21:12:31 +01:00
file.c fscache: Pass object size in rather than calling back for it 2018-04-06 14:05:14 +01:00
flock.c afs: Fix file locking 2017-11-17 10:06:13 +00:00
fsclient.c afs: Prospectively look up extra files when doing a single lookup 2018-04-09 21:12:31 +01:00
inode.c afs: Fix checker warnings 2018-04-09 21:12:31 +01:00
internal.h afs: Implement @sys substitution handling 2018-04-09 21:12:31 +01:00
main.c afs: Implement @sys substitution handling 2018-04-09 21:12:31 +01:00
misc.c afs: Consolidate abort_to_error translators 2017-11-13 15:38:17 +00:00
mntpt.c afs: Support the AFS dynamic root 2018-02-06 14:43:37 +00:00
netdevices.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
proc.c afs: Implement @sys substitution handling 2018-04-09 21:12:31 +01:00
rotate.c afs: Fix checker warnings 2018-04-09 21:12:31 +01:00
rxrpc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-04-03 14:04:18 -07:00
security.c afs: Fix checker warnings 2018-04-09 21:12:31 +01:00
server.c afs: Fix checker warnings 2018-04-09 21:12:31 +01:00
server_list.c afs: Fix server list handling 2018-02-06 14:36:54 +00:00
super.c afs: Support the AFS dynamic root 2018-02-06 14:43:37 +00:00
vlclient.c afs: Fix checker warnings 2018-04-09 21:12:31 +01:00
volume.c fscache: Pass object size in rather than calling back for it 2018-04-06 14:05:14 +01:00
write.c afs: Fix missing error handling in afs_write_end() 2018-01-02 10:02:19 +00:00
xattr.c afs: Overhaul volume and server record caching and fileserver rotation 2017-11-13 15:38:19 +00:00