docs: filesystems: convert affs.txt to ReST
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 17 Feb 2020 16:11:49 +0000 (17:11 +0100)
committerJonathan Corbet <corbet@lwn.net>
Mon, 2 Mar 2020 21:01:06 +0000 (14:01 -0700)
- Add a SPDX header;
- Adjust document title;
- Add table markups;
- Mark literal blocks as such;
- Some whitespace fixes and new line breaks;
- Add it to filesystems/index.rst.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Acked-by: David Sterba <dsterba@suse.com>
Link: https://lore.kernel.org/r/b44c56befe0e28cbc0eb1b3e281ad7d99737ff16.1581955849.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Documentation/filesystems/affs.rst [new file with mode: 0644]
Documentation/filesystems/affs.txt [deleted file]
Documentation/filesystems/index.rst

diff --git a/Documentation/filesystems/affs.rst b/Documentation/filesystems/affs.rst
new file mode 100644 (file)
index 0000000..7f1a40d
--- /dev/null
@@ -0,0 +1,246 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+=============================
+Overview of Amiga Filesystems
+=============================
+
+Not all varieties of the Amiga filesystems are supported for reading and
+writing. The Amiga currently knows six different filesystems:
+
+============== ===============================================================
+DOS\0          The old or original filesystem, not really suited for
+               hard disks and normally not used on them, either.
+               Supported read/write.
+
+DOS\1          The original Fast File System. Supported read/write.
+
+DOS\2          The old "international" filesystem. International means that
+               a bug has been fixed so that accented ("international") letters
+               in file names are case-insensitive, as they ought to be.
+               Supported read/write.
+
+DOS\3          The "international" Fast File System.  Supported read/write.
+
+DOS\4          The original filesystem with directory cache. The directory
+               cache speeds up directory accesses on floppies considerably,
+               but slows down file creation/deletion. Doesn't make much
+               sense on hard disks. Supported read only.
+
+DOS\5          The Fast File System with directory cache. Supported read only.
+============== ===============================================================
+
+All of the above filesystems allow block sizes from 512 to 32K bytes.
+Supported block sizes are: 512, 1024, 2048 and 4096 bytes. Larger blocks
+speed up almost everything at the expense of wasted disk space. The speed
+gain above 4K seems not really worth the price, so you don't lose too
+much here, either.
+
+The muFS (multi user File System) equivalents of the above file systems
+are supported, too.
+
+Mount options for the AFFS
+==========================
+
+protect
+               If this option is set, the protection bits cannot be altered.
+
+setuid[=uid]
+               This sets the owner of all files and directories in the file
+               system to uid or the uid of the current user, respectively.
+
+setgid[=gid]
+               Same as above, but for gid.
+
+mode=mode
+               Sets the mode flags to the given (octal) value, regardless
+               of the original permissions. Directories will get an x
+               permission if the corresponding r bit is set.
+               This is useful since most of the plain AmigaOS files
+               will map to 600.
+
+nofilenametruncate
+               The file system will return an error when filename exceeds
+               standard maximum filename length (30 characters).
+
+reserved=num
+               Sets the number of reserved blocks at the start of the
+               partition to num. You should never need this option.
+               Default is 2.
+
+root=block
+               Sets the block number of the root block. This should never
+               be necessary.
+
+bs=blksize
+               Sets the blocksize to blksize. Valid block sizes are 512,
+               1024, 2048 and 4096. Like the root option, this should
+               never be necessary, as the affs can figure it out itself.
+
+quiet
+               The file system will not return an error for disallowed
+               mode changes.
+
+verbose
+               The volume name, file system type and block size will
+               be written to the syslog when the filesystem is mounted.
+
+mufs
+               The filesystem is really a muFS, also it doesn't
+               identify itself as one. This option is necessary if
+               the filesystem wasn't formatted as muFS, but is used
+               as one.
+
+prefix=path
+               Path will be prefixed to every absolute path name of
+               symbolic links on an AFFS partition. Default = "/".
+               (See below.)
+
+volume=name
+               When symbolic links with an absolute path are created
+               on an AFFS partition, name will be prepended as the
+               volume name. Default = "" (empty string).
+               (See below.)
+
+Handling of the Users/Groups and protection flags
+=================================================
+
+Amiga -> Linux:
+
+The Amiga protection flags RWEDRWEDHSPARWED are handled as follows:
+
+  - R maps to r for user, group and others. On directories, R implies x.
+
+  - If both W and D are allowed, w will be set.
+
+  - E maps to x.
+
+  - H and P are always retained and ignored under Linux.
+
+  - A is always reset when a file is written to.
+
+User id and group id will be used unless set[gu]id are given as mount
+options. Since most of the Amiga file systems are single user systems
+they will be owned by root. The root directory (the mount point) of the
+Amiga filesystem will be owned by the user who actually mounts the
+filesystem (the root directory doesn't have uid/gid fields).
+
+Linux -> Amiga:
+
+The Linux rwxrwxrwx file mode is handled as follows:
+
+  - r permission will set R for user, group and others.
+
+  - w permission will set W and D for user, group and others.
+
+  - x permission of the user will set E for plain files.
+
+  - All other flags (suid, sgid, ...) are ignored and will
+    not be retained.
+
+Newly created files and directories will get the user and group ID
+of the current user and a mode according to the umask.
+
+Symbolic links
+==============
+
+Although the Amiga and Linux file systems resemble each other, there
+are some, not always subtle, differences. One of them becomes apparent
+with symbolic links. While Linux has a file system with exactly one
+root directory, the Amiga has a separate root directory for each
+file system (for example, partition, floppy disk, ...). With the Amiga,
+these entities are called "volumes". They have symbolic names which
+can be used to access them. Thus, symbolic links can point to a
+different volume. AFFS turns the volume name into a directory name
+and prepends the prefix path (see prefix option) to it.
+
+Example:
+You mount all your Amiga partitions under /amiga/<volume> (where
+<volume> is the name of the volume), and you give the option
+"prefix=/amiga/" when mounting all your AFFS partitions. (They
+might be "User", "WB" and "Graphics", the mount points /amiga/User,
+/amiga/WB and /amiga/Graphics). A symbolic link referring to
+"User:sc/include/dos/dos.h" will be followed to
+"/amiga/User/sc/include/dos/dos.h".
+
+Examples
+========
+
+Command line::
+
+    mount  Archive/Amiga/Workbench3.1.adf /mnt -t affs -o loop,verbose
+    mount  /dev/sda3 /Amiga -t affs
+
+/etc/fstab entry::
+
+    /dev/sdb5  /amiga/Workbench    affs    noauto,user,exec,verbose 0 0
+
+IMPORTANT NOTE
+==============
+
+If you boot Windows 95 (don't know about 3.x, 98 and NT) while you
+have an Amiga harddisk connected to your PC, it will overwrite
+the bytes 0x00dc..0x00df of block 0 with garbage, thus invalidating
+the Rigid Disk Block. Sheer luck has it that this is an unused
+area of the RDB, so only the checksum doesn't match anymore.
+Linux will ignore this garbage and recognize the RDB anyway, but
+before you connect that drive to your Amiga again, you must
+restore or repair your RDB. So please do make a backup copy of it
+before booting Windows!
+
+If the damage is already done, the following should fix the RDB
+(where <disk> is the device name).
+
+DO AT YOUR OWN RISK::
+
+  dd if=/dev/<disk> of=rdb.tmp count=1
+  cp rdb.tmp rdb.fixed
+  dd if=/dev/zero of=rdb.fixed bs=1 seek=220 count=4
+  dd if=rdb.fixed of=/dev/<disk>
+
+Bugs, Restrictions, Caveats
+===========================
+
+Quite a few things may not work as advertised. Not everything is
+tested, though several hundred MB have been read and written using
+this fs. For a most up-to-date list of bugs please consult
+fs/affs/Changes.
+
+By default, filenames are truncated to 30 characters without warning.
+'nofilenametruncate' mount option can change that behavior.
+
+Case is ignored by the affs in filename matching, but Linux shells
+do care about the case. Example (with /wb being an affs mounted fs)::
+
+    rm /wb/WRONGCASE
+
+will remove /mnt/wrongcase, but::
+
+    rm /wb/WR*
+
+will not since the names are matched by the shell.
+
+The block allocation is designed for hard disk partitions. If more
+than 1 process writes to a (small) diskette, the blocks are allocated
+in an ugly way (but the real AFFS doesn't do much better). This
+is also true when space gets tight.
+
+You cannot execute programs on an OFS (Old File System), since the
+program files cannot be memory mapped due to the 488 byte blocks.
+For the same reason you cannot mount an image on such a filesystem
+via the loopback device.
+
+The bitmap valid flag in the root block may not be accurate when the
+system crashes while an affs partition is mounted. There's currently
+no way to fix a garbled filesystem without an Amiga (disk validator)
+or manually (who would do this?). Maybe later.
+
+If you mount affs partitions on system startup, you may want to tell
+fsck that the fs should not be checked (place a '0' in the sixth field
+of /etc/fstab).
+
+It's not possible to read floppy disks with a normal PC or workstation
+due to an incompatibility with the Amiga floppy controller.
+
+If you are interested in an Amiga Emulator for Linux, look at
+
+http://web.archive.org/web/%2E/http://www.freiburg.linux.de/~uae/
diff --git a/Documentation/filesystems/affs.txt b/Documentation/filesystems/affs.txt
deleted file mode 100644 (file)
index 71b63c2..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-Overview of Amiga Filesystems
-=============================
-
-Not all varieties of the Amiga filesystems are supported for reading and
-writing. The Amiga currently knows six different filesystems:
-
-DOS\0          The old or original filesystem, not really suited for
-               hard disks and normally not used on them, either.
-               Supported read/write.
-
-DOS\1          The original Fast File System. Supported read/write.
-
-DOS\2          The old "international" filesystem. International means that
-               a bug has been fixed so that accented ("international") letters
-               in file names are case-insensitive, as they ought to be.
-               Supported read/write.
-
-DOS\3          The "international" Fast File System.  Supported read/write.
-
-DOS\4          The original filesystem with directory cache. The directory
-               cache speeds up directory accesses on floppies considerably,
-               but slows down file creation/deletion. Doesn't make much
-               sense on hard disks. Supported read only.
-
-DOS\5          The Fast File System with directory cache. Supported read only.
-
-All of the above filesystems allow block sizes from 512 to 32K bytes.
-Supported block sizes are: 512, 1024, 2048 and 4096 bytes. Larger blocks
-speed up almost everything at the expense of wasted disk space. The speed
-gain above 4K seems not really worth the price, so you don't lose too
-much here, either.
-
-The muFS (multi user File System) equivalents of the above file systems
-are supported, too.
-
-Mount options for the AFFS
-==========================
-
-protect                If this option is set, the protection bits cannot be altered.
-
-setuid[=uid]   This sets the owner of all files and directories in the file
-               system to uid or the uid of the current user, respectively.
-
-setgid[=gid]   Same as above, but for gid.
-
-mode=mode      Sets the mode flags to the given (octal) value, regardless
-               of the original permissions. Directories will get an x
-               permission if the corresponding r bit is set.
-               This is useful since most of the plain AmigaOS files
-               will map to 600.
-
-nofilenametruncate
-               The file system will return an error when filename exceeds
-               standard maximum filename length (30 characters).
-
-reserved=num   Sets the number of reserved blocks at the start of the
-               partition to num. You should never need this option.
-               Default is 2.
-
-root=block     Sets the block number of the root block. This should never
-               be necessary.
-
-bs=blksize     Sets the blocksize to blksize. Valid block sizes are 512,
-               1024, 2048 and 4096. Like the root option, this should
-               never be necessary, as the affs can figure it out itself.
-
-quiet          The file system will not return an error for disallowed
-               mode changes.
-
-verbose                The volume name, file system type and block size will
-               be written to the syslog when the filesystem is mounted.
-
-mufs           The filesystem is really a muFS, also it doesn't
-               identify itself as one. This option is necessary if
-               the filesystem wasn't formatted as muFS, but is used
-               as one.
-
-prefix=path    Path will be prefixed to every absolute path name of
-               symbolic links on an AFFS partition. Default = "/".
-               (See below.)
-
-volume=name    When symbolic links with an absolute path are created
-               on an AFFS partition, name will be prepended as the
-               volume name. Default = "" (empty string).
-               (See below.)
-
-Handling of the Users/Groups and protection flags
-=================================================
-
-Amiga -> Linux:
-
-The Amiga protection flags RWEDRWEDHSPARWED are handled as follows:
-
-  - R maps to r for user, group and others. On directories, R implies x.
-
-  - If both W and D are allowed, w will be set.
-
-  - E maps to x.
-
-  - H and P are always retained and ignored under Linux.
-
-  - A is always reset when a file is written to.
-
-User id and group id will be used unless set[gu]id are given as mount
-options. Since most of the Amiga file systems are single user systems
-they will be owned by root. The root directory (the mount point) of the
-Amiga filesystem will be owned by the user who actually mounts the
-filesystem (the root directory doesn't have uid/gid fields).
-
-Linux -> Amiga:
-
-The Linux rwxrwxrwx file mode is handled as follows:
-
-  - r permission will set R for user, group and others.
-
-  - w permission will set W and D for user, group and others.
-
-  - x permission of the user will set E for plain files.
-
-  - All other flags (suid, sgid, ...) are ignored and will
-    not be retained.
-    
-Newly created files and directories will get the user and group ID
-of the current user and a mode according to the umask.
-
-Symbolic links
-==============
-
-Although the Amiga and Linux file systems resemble each other, there
-are some, not always subtle, differences. One of them becomes apparent
-with symbolic links. While Linux has a file system with exactly one
-root directory, the Amiga has a separate root directory for each
-file system (for example, partition, floppy disk, ...). With the Amiga,
-these entities are called "volumes". They have symbolic names which
-can be used to access them. Thus, symbolic links can point to a
-different volume. AFFS turns the volume name into a directory name
-and prepends the prefix path (see prefix option) to it.
-
-Example:
-You mount all your Amiga partitions under /amiga/<volume> (where
-<volume> is the name of the volume), and you give the option
-"prefix=/amiga/" when mounting all your AFFS partitions. (They
-might be "User", "WB" and "Graphics", the mount points /amiga/User,
-/amiga/WB and /amiga/Graphics). A symbolic link referring to
-"User:sc/include/dos/dos.h" will be followed to
-"/amiga/User/sc/include/dos/dos.h".
-
-Examples
-========
-
-Command line:
-    mount  Archive/Amiga/Workbench3.1.adf /mnt -t affs -o loop,verbose
-    mount  /dev/sda3 /Amiga -t affs
-
-/etc/fstab entry:
-    /dev/sdb5  /amiga/Workbench    affs    noauto,user,exec,verbose 0 0
-
-IMPORTANT NOTE
-==============
-
-If you boot Windows 95 (don't know about 3.x, 98 and NT) while you
-have an Amiga harddisk connected to your PC, it will overwrite
-the bytes 0x00dc..0x00df of block 0 with garbage, thus invalidating
-the Rigid Disk Block. Sheer luck has it that this is an unused
-area of the RDB, so only the checksum doesn't match anymore.
-Linux will ignore this garbage and recognize the RDB anyway, but
-before you connect that drive to your Amiga again, you must
-restore or repair your RDB. So please do make a backup copy of it
-before booting Windows!
-
-If the damage is already done, the following should fix the RDB
-(where <disk> is the device name).
-DO AT YOUR OWN RISK:
-
-  dd if=/dev/<disk> of=rdb.tmp count=1
-  cp rdb.tmp rdb.fixed
-  dd if=/dev/zero of=rdb.fixed bs=1 seek=220 count=4
-  dd if=rdb.fixed of=/dev/<disk>
-
-Bugs, Restrictions, Caveats
-===========================
-
-Quite a few things may not work as advertised. Not everything is
-tested, though several hundred MB have been read and written using
-this fs. For a most up-to-date list of bugs please consult
-fs/affs/Changes.
-
-By default, filenames are truncated to 30 characters without warning.
-'nofilenametruncate' mount option can change that behavior.
-
-Case is ignored by the affs in filename matching, but Linux shells
-do care about the case. Example (with /wb being an affs mounted fs):
-    rm /wb/WRONGCASE
-will remove /mnt/wrongcase, but
-    rm /wb/WR*
-will not since the names are matched by the shell.
-
-The block allocation is designed for hard disk partitions. If more
-than 1 process writes to a (small) diskette, the blocks are allocated
-in an ugly way (but the real AFFS doesn't do much better). This
-is also true when space gets tight.
-
-You cannot execute programs on an OFS (Old File System), since the
-program files cannot be memory mapped due to the 488 byte blocks.
-For the same reason you cannot mount an image on such a filesystem
-via the loopback device.
-
-The bitmap valid flag in the root block may not be accurate when the
-system crashes while an affs partition is mounted. There's currently
-no way to fix a garbled filesystem without an Amiga (disk validator)
-or manually (who would do this?). Maybe later.
-
-If you mount affs partitions on system startup, you may want to tell
-fsck that the fs should not be checked (place a '0' in the sixth field
-of /etc/fstab).
-
-It's not possible to read floppy disks with a normal PC or workstation
-due to an incompatibility with the Amiga floppy controller.
-
-If you are interested in an Amiga Emulator for Linux, look at
-
-http://web.archive.org/web/*/http://www.freiburg.linux.de/~uae/
index 14dc89c..273d802 100644 (file)
@@ -48,6 +48,7 @@ Documentation for filesystem implementations.
 
    9p
    adfs
+   affs
    autofs
    fuse
    overlayfs