cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

adfs.rst (3767B)


      1.. SPDX-License-Identifier: GPL-2.0
      2
      3===============================
      4Acorn Disc Filing System - ADFS
      5===============================
      6
      7Filesystems supported by ADFS
      8-----------------------------
      9
     10The ADFS module supports the following Filecore formats which have:
     11
     12- new maps
     13- new directories or big directories
     14
     15In terms of the named formats, this means we support:
     16
     17- E and E+, with or without boot block
     18- F and F+
     19
     20We fully support reading files from these filesystems, and writing to
     21existing files within their existing allocation.  Essentially, we do
     22not support changing any of the filesystem metadata.
     23
     24This is intended to support loopback mounted Linux native filesystems
     25on a RISC OS Filecore filesystem, but will allow the data within files
     26to be changed.
     27
     28If write support (ADFS_FS_RW) is configured, we allow rudimentary
     29directory updates, specifically updating the access mode and timestamp.
     30
     31Mount options for ADFS
     32----------------------
     33
     34  ============  ======================================================
     35  uid=nnn	All files in the partition will be owned by
     36		user id nnn.  Default 0 (root).
     37  gid=nnn	All files in the partition will be in group
     38		nnn.  Default 0 (root).
     39  ownmask=nnn	The permission mask for ADFS 'owner' permissions
     40		will be nnn.  Default 0700.
     41  othmask=nnn	The permission mask for ADFS 'other' permissions
     42		will be nnn.  Default 0077.
     43  ftsuffix=n	When ftsuffix=0, no file type suffix will be applied.
     44		When ftsuffix=1, a hexadecimal suffix corresponding to
     45		the RISC OS file type will be added.  Default 0.
     46  ============  ======================================================
     47
     48Mapping of ADFS permissions to Linux permissions
     49------------------------------------------------
     50
     51  ADFS permissions consist of the following:
     52
     53	- Owner read
     54	- Owner write
     55	- Other read
     56	- Other write
     57
     58  (In older versions, an 'execute' permission did exist, but this
     59  does not hold the same meaning as the Linux 'execute' permission
     60  and is now obsolete).
     61
     62  The mapping is performed as follows::
     63
     64	Owner read				-> -r--r--r--
     65	Owner write				-> --w--w---w
     66	Owner read and filetype UnixExec	-> ---x--x--x
     67    These are then masked by ownmask, eg 700	-> -rwx------
     68	Possible owner mode permissions		-> -rwx------
     69
     70	Other read				-> -r--r--r--
     71	Other write				-> --w--w--w-
     72	Other read and filetype UnixExec	-> ---x--x--x
     73    These are then masked by othmask, eg 077	-> ----rwxrwx
     74	Possible other mode permissions		-> ----rwxrwx
     75
     76  Hence, with the default masks, if a file is owner read/write, and
     77  not a UnixExec filetype, then the permissions will be::
     78
     79			-rw-------
     80
     81  However, if the masks were ownmask=0770,othmask=0007, then this would
     82  be modified to::
     83
     84			-rw-rw----
     85
     86  There is no restriction on what you can do with these masks.  You may
     87  wish that either read bits give read access to the file for all, but
     88  keep the default write protection (ownmask=0755,othmask=0577)::
     89
     90			-rw-r--r--
     91
     92  You can therefore tailor the permission translation to whatever you
     93  desire the permissions should be under Linux.
     94
     95RISC OS file type suffix
     96------------------------
     97
     98  RISC OS file types are stored in bits 19..8 of the file load address.
     99
    100  To enable non-RISC OS systems to be used to store files without losing
    101  file type information, a file naming convention was devised (initially
    102  for use with NFS) such that a hexadecimal suffix of the form ,xyz
    103  denoted the file type: e.g. BasicFile,ffb is a BASIC (0xffb) file.  This
    104  naming convention is now also used by RISC OS emulators such as RPCEmu.
    105
    106  Mounting an ADFS disc with option ftsuffix=1 will cause appropriate file
    107  type suffixes to be appended to file names read from a directory.  If the
    108  ftsuffix option is zero or omitted, no file type suffixes will be added.