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