Hello Tobias and Michael,
I quote yours previous private reply about debian bug #171681 on the
manpage list with my next post about it and a copy of the last patch.
Le 15/02/2016 19:02, Dr. Tobias Quathamer a écrit :
> Am 15.02.2016 um 14:26 schrieb Stéphane Aulery:
>>
>>For bug #171681 I did a lot of work to list all supported file systems.
>>Michel refused the patch because it was too big, and it was too
>>difficult to verify. I still have to send little by little and I think
>>rework to thoroughly check every detail of descriptions. At the moment I
>>am not available for this work before several more months.
>>
>>If this interests you I can give you my patch in the hope that you can
>>get things done faster. If so, I do some archeology tonight.
> Hi Stéphane and Michael,
>
> sure, why not. If Michael is not opposed to the patch in general, just
> opposed to a huge patch, I could try to split it into smaller pieces
> which are easier to review.
>
> In any case, I think it would be an improvement to add at least some of
> the more common filesystems to that manpage.
>
> So if it's not too much work for you, you could send me your patch so
> far. However, I cannot promise that I have the time to work on this.
About this bug I had send this first patch to M. Kerrisk. He rejected
it. Too long for a good review. See this thread on
linux-man@xxxxxxxxxxxxxxx [1].
I started to break my patch and some passages were corrected (see
patches accepted from March 2015) [2].
The list is long and it must be controlled because my initial patch was
only to add all FS. Then I wanted to check every description with the
kernel doc.
(PS: Sorry, I changed my PC before a disaster and yet, my copy of git is
on a USB key that I do not have with me. I can not do more to help.)
[1] http://thread.gmane.org/gmane.linux.man/8476/focus=8477
[2]
http://git.kernel.org/cgit/docs/man-pages/man-pages.git/log/man5/filesystems.5
Regards
---------------------------------------------------------------------------------
Le 11/03/2015 06:49, Michael Kerrisk (man-pages) a écrit :
On 03/11/2015 12:46 AM, Stéphane Aulery wrote:
Le mardi 10 mars 2015 à 06:57:49, Michael Kerrisk (man-pages) a écrit :
On 03/09/2015 07:29 PM, Stéphane Aulery wrote:
Le mardi 03 mars 2015 à 01:14:25, Michael Kerrisk (man-pages) a écrit :
b) Send me a *list* of the filesystems you propose to add,
possibly with suggestions on how those FSes could be added
in patches that add multiple related FSes.
Here is a list:
adfs, afs, affs (five variants: DOS/0, DOS/1, DOS/2, DOS/3, DOS/4, DOS/5),
befs, bfs, btrfs, ceph, cifs, coda, coherent, configfs, cramfs, debugfs,
devpts, dlmfs, ecryptfs, efivarfs, exofs, f2fs, fat, gfs2, hfs, hfsplus,
logfs, nilfs2, ocfs2, omfs, pohmelfs, qnx6, ramfs, reiserfs, romfs, spufs,
spufs, squashfs, sysfs, tmpfs, ubifs, udf, ufs, v9fs, usbfs, xenix
Any ideas about ways of grouping these? I'd rather not receive one
patch with them all...
No idea of grouping. In packages of two or three?
Okay -- if nothing better, that will do.
-------- Message transféré --------
Sujet : man5/filesystems.5: updated list and descriptions of supported
filesystems
Date : Tue, 3 Mar 2015 09:58:31 +0100
De : saulery@xxxxxxx
Pour : mtk.manpages@xxxxxxxxx
Copie à : linux-man@xxxxxxxxxxxxxxx, Stéphane Aulery <saulery@xxxxxxx>
From: Stéphane Aulery <saulery@xxxxxxx>
Sync with:
-
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/Documentation/filesystems
- http://www.tldp.org/HOWTO/Filesystems-HOWTO.html
- http://v9fs.sourceforge.net/
- https://launchpad.net/9p-linux
Signed-off-by: Stéphane Aulery <saulery@xxxxxxx>
---
man5/filesystems.5 | 497
++++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 413 insertions(+), 84 deletions(-)
diff --git a/man5/filesystems.5 b/man5/filesystems.5
index 34d2aa1..3e35938 100644
--- a/man5/filesystems.5
+++ b/man5/filesystems.5
@@ -26,9 +26,13 @@
.TH FILESYSTEMS 5 2014-01-15 "Linux" "Linux Programmer's Manual"
.nh
.SH NAME
-filesystems \- Linux filesystem types: minix, ext, ext2, ext3, ext4,
Reiserfs,
-XFS, JFS, xia, msdos,
-umsdos, vfat, ntfs, proc, nfs, iso9660, hpfs, sysv, smb, ncpfs
+filesystems \- Linux filesystem types: adfs, afs, affs, befs, bfs, btrfs,
+ceph, cifs, coda, coherent, configfs, cramfs, debugfs, devpts, dlmfs,
+ecryptfs, efivarfs, exofs, ext, ext2, ext3, ext4, f2fs, fat, gfs2, hfs,
+hfsplus, hpfs, iso9660, jfs, logfs, minix, msdos, ncpfs, nfs, nilfs2, ntfs,
+ocfs2, omfs, pohmelfs, proc, qnx6, ramfs, reiserfs, romfs, smbfs, spufs,
+squashfs, sysfs, sysv, tmpfs, ubifs, udf, ufs, umsdos, v9fs, vfat, usbfs,
+xenix, xfs, xiafs
.SH DESCRIPTION
When, as is customary, the
.B proc
@@ -42,20 +46,150 @@ see
for more details.
If you need a currently unsupported filesystem, insert the corresponding
module or recompile the kernel.
-
In order to use a filesystem, you have to
.I mount
it; see
.BR mount (8).
-
-Below a short description of a few of the available filesystems.
+.sp
+Below a short description of the available or historically available
+filesystems in Linux kernel. See kernel documentation for a comprehensive
+description of all options and limitations.
.TP 10
-.B "minix"
-is the filesystem used in the Minix operating system, the first to run
-under Linux.
-It has a number of shortcomings, including a 64MB partition size
-limit, short filenames, and a single timestamp.
-It remains useful for floppies and RAM disks.
+.B adfs
+is the Acorn Advanced Disc Filing System, the standard filesystem of the
+RiscOS operating system which runs on Acorn's ARM-based Risc PC systems and
+the Acorn Archimedes range of machines, that was integrated into Linux in
+kernel 2.1.
+.TP
+.B afs
+is the distributed AFS (Andrew File System) fs. It is under development and
+does not yet provide the full feature set. It does not yet support pioctl()
+system call.
+.TP
+.B affs
+is the Amiga Fast File System (AFFS) used on hard disks by Amiga(tm)
systems
+since AmigaOS Version 1.3 (34.20), that was integrated into Linux in kernel
+2.1. It supports six flavors of the file system and
+.B muFS
+(multi user File System) equivalents:
+.RS
+.TP
+.B DOS\[rs]0
+The old or original filesystem, not really suited for hard disks and
normally
+not used on them, either. Supported read/write.
+.TP
+.B DOS\[rs]1
+The original Fast File System. Supported read/write.
+.TP
+.B DOS\[rs]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.
+.TP
+.B DOS\[rs]3
+The "international" Fast File System. Supported read/write.
+.TP
+.B DOS\[rs]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.
+.TP
+.B DOS\[rs]5
+The Fast File System with directory cache. Supported read only.
+.RE
+
+.TP
+.B befs
+is the journaling filesystem of BeOS. It's alpha version (read-only).
+
+.TP
+.B bfs
+is the SCO UnixWare Boot Filesystem (read-only), that was integrated
into Linux in kernel
+2.3.25.
+
+.TP
+.B btrfs
+is a copy on write filesystem for Linux aimed at implementing advanced
+features while focusing on fault tolerance, repair and easy administration.
+Initially developed by Oracle,
+.B btrfs
+is licensed under the GPL and open for contribution from anyone.
+
+.TP
+.B ceph
+is the Ceph Distributed File System.
+.B ceph
+is a distributed network file system designed to provide good performance,
+reliability, and scalability.
+
+.TP
+.B cifs
+is the Common Internet File System (CIFS) protocol which is the
successor to
+.BR smbfs ,
+the Server Message Block (SMB) protocol, the native file sharing
mechanism for
+most early PC operating systems.
+
+.TP
+.B coda
+is the Coda Distributed File System, historically implemented in a BSD file
+system in Mach 2.6.
+
+.TP
+.B coherent
+See
+.BR sysfs .
+
+.TP
+.B configfs
+is a ram-based filesystem that provides the converse of sysfs's
functionality.
+Where sysfs is a filesystem-based view of kernel objects,
+.B configfs
+is a filesystem-based manager of kernel objects, or config_items.
+
+.TP
+.B cramfs
+is a filesystem onto a small ROM.
+.B cramfs
+is designed to be simple and small, and to compress things well.
+
+.TP
+.B debugfs
+is a simple way for kernel developers to make any information available to
+user space, specially for debugging purpose. See also
+.BR proc " and " sysfs .
+
+.TP
+.B devpts
+is an interface to pseudo terminal (pty) devices. It is typically
mounted at
+.IR /dev/pts .
+See
+.BR pty (7).
+
+.TP
+.B dlmfs
+is the userspace interface to the OCFS2 DLM.
+
+.TP
+.B ecryptfs
+is a stacked cryptographic filesystem for Linux, currently undergoing
+development.
+
+.TP
+.B efivarfs
+is a (U)EFI variable filesystem. The
+.B efivarfs
+filesystem was created to address the shortcomings of using entries in
sysfs
+to maintain EFI variables.
+
+.TP
+.B exofs
+is a file system that uses an OSD and exports the API of a normal Linux
+file system. Users access
+.B exofs
+like any other local file system, and
+.B exofs
+will in turn issue commands to the local OSD initiator.
+
.TP
.B ext
is an elaborate extension of the
@@ -65,78 +199,73 @@ It has been completely superseded by the second version
of the extended filesystem
.RB ( ext2 )
and has been removed from the kernel (in 2.1.21).
+
.TP
.B ext2
is the high performance disk filesystem used by Linux for fixed disks
as well as removable media.
The second extended filesystem was designed as an extension of the
extended filesystem
-.RB ( ext ).
+.RB ( ext ),
+originally released in January 1993.
.B ext2
offers the best performance (in terms of speed and CPU usage) of
-the filesystems supported under Linux.
+the filesystems supported under Linux (see
+.BR ext2 (5)).
+
.TP
.B ext3
-is a journaling version of the ext2 filesystem.
+is a journaling version of the
+.B ext2
+filesystem, originally released in September 1999 for the 2.2 branch, and
+ported to 2.4 Linux kernels.
It is easy to
-switch back and forth between ext2 and ext3.
+switch back and forth between
+.BR ext2 " and " ext3 (see
+.BR ext3 (5)).
+
.TP
.B ext4
-is a set of upgrades to ext3 including substantial performance and
+is a set of upgrades to
+.B ext3
+including substantial performance and
reliability enhancements,
-plus large increases in volume, file, and directory size limits.
-.TP
-.B Reiserfs
-is a journaling filesystem, designed by Hans Reiser,
-that was integrated into Linux in kernel 2.4.1.
-.TP
-.B XFS
-is a journaling filesystem, developed by SGI,
-that was integrated into Linux in kernel 2.4.20.
-.TP
-.B JFS
-is a journaling filesystem, developed by IBM,
-that was integrated into Linux in kernel 2.4.24.
+plus large increases in volume, file, and directory size limits (64
bit) (see
+.BR ext4 (5)).
+
.TP
-.B xiafs
-was designed and implemented to be a stable, safe filesystem by
-extending the Minix filesystem code.
-It provides the basic most
-requested features without undue complexity.
-The
-.B xia
-filesystem is no longer actively developed or maintained.
-It was removed from the kernel in 2.1.21.
+.B f2fs
+is the Flash-Friendly File System (F2FS), a file system exploiting NAND
flash
+memory-based storage devices, which is based on Log-structured File System
+(LFS). The design has been focused on addressing the fundamental issues in
+LFS, which are snowball effect of wandering tree and high cleaning
overhead.
+
.TP
-.B msdos
-is the filesystem used by DOS, Windows, and some OS/2 computers.
-.B msdos
-filenames can be no longer than 8 characters, followed by an
-optional period and 3 character extension.
+.B fat
+is the File Allocation Table (FAT), a filesystem originally designed in
1977
+for use on floppy disks for DOS and Windows 9x.
+.B fat
+is not a separate filesystem, but a common part of the
+.BR msdos ", " umsdos " and " vfat
+filesystems.
.TP
-.B umsdos
-is an extended DOS filesystem used by Linux.
-It adds capability for
-long filenames, UID/GID, POSIX permissions, and special files
-(devices, named pipes, etc.) under the DOS filesystem, without
-sacrificing compatibility with DOS.
+.B gfs2
+is the Global File System 2, a cluster file system, that was integrated
into
+Linux in kernel 2.6.19.
+
.TP
-.B vfat
-is an extended DOS filesystem used by Microsoft Windows95 and Windows NT.
-VFAT adds the capability to use long filenames under the MSDOS filesystem.
+.B hfs
+is the Macintosh Hierarchical File System filesystem (HFS). It's the
+filesystem used by the Mac Plus and all later Macintosh models.
+
.TP
-.B ntfs
-replaces Microsoft Window's FAT filesystems (VFAT, FAT32).
-It has reliability, performance, and space-utilization enhancements
-plus features like ACLs, journaling, encryption, and so on.
+.B hfsplus
+is the extended version of HFS filesystem first introduced in MacOS 8.1.
+
.TP
-.B proc
-is a pseudo filesystem which is used as an interface to kernel data
-structures rather than reading and interpreting
-.IR /dev/kmem .
-In particular, its files do not take disk space.
-See
-.BR proc (5).
+.B hpfs
+is the High Performance Filesystem, used in OS/2. This filesystem is
read-only
+under Linux due to the lack of available documentation.
.TP
.B iso9660
is a CD-ROM filesystem type conforming to the ISO 9660 standard.
@@ -160,41 +289,241 @@ It is automatically recognized within the
.B iso9660
filesystem support under Linux.
.RE
+
.TP
-.B hpfs
-is the High Performance Filesystem, used in OS/2.
-This filesystem is
-read-only under Linux due to the lack of available documentation.
+.B jfs
+is the IBM's Journaled File System (JFS), a journaling filesystem,
developed
+by IBM, that was integrated into Linux in kernel 2.4.24.
+
.TP
-.B sysv
-is an implementation of the SystemV/Coherent filesystem for Linux.
-It implements all of Xenix FS, SystemV/386 FS, and Coherent FS.
+.B logfs
+is the LogFS Flash Filesystem, a Linux log-structured and scalable flash
+file system, intended for use on large devices of flash memory, that was
+integrated into Linux in kernel 2.6.34.
+
.TP
-.B nfs
-is the network filesystem used to access disks located on remote computers.
+.B minix
+is the filesystem used in the Minix operating system, the first to run
+under Linux.
+It has a number of shortcomings, including a 64MB partition size
+limit, short filenames, and a single timestamp.
+It remains useful for floppies and RAM disks.
+
.TP
-.B smb
-is a network filesystem that supports the SMB protocol, used by
-Windows for Workgroups, Windows NT, and Lan Manager.
-.sp
-To use
-.B smb
-fs, you need a special mount program, which can be found in the ksmbfs
-package, found at
-.UR ftp://sunsite.unc.edu\:/pub\:/Linux\:/system\:/Filesystems\:/smbfs
-.UE .
+.B msdos
+is the filesystem used by DOS, Windows, and some OS/2 computers.
+.B msdos
+filenames can be no longer than 8 characters, followed by an
+optional period and 3 character extension.
+
.TP
.B ncpfs
is a network filesystem that supports the NCP protocol, used by
-Novell NetWare.
+Novell NetWare (tm).
.sp
To use
.BR ncpfs ,
you need special programs, which can be found at
.UR ftp://linux01.gwdg.de\:/pub\:/ncpfs
.UE .
+
+.TP
+.B nfs
+is the Network FileSystem (NFS) used to access disks located on remote
+computers. There are four major versions of this filesystem. The NFS
version
+2 protocol was first documented in RFC1094 (March 1989). Since then two
more
+major releases of NFS have been published, with NFSv3 being documented in
+RFC1813 (June 1995), and NFSv4 in RFC3530 (April 2003).
+.sp
+The Linux NFS client currently supports all the above published versions,
+and work is in progress on adding support for minor version 1 of the NFSv4
+protocol.
+
+.TP
+.B nilfs2
+is a log-structured file system (LFS) supporting continuous
snapshotting. In
+addition to versioning capability of the entire file system, users can even
+restore files mistakenly overwritten or destroyed just a few seconds ago.
+Since NILFS2 can keep consistency like conventional LFS, it achieves quick
+recovery after system crashes.
+
+.TP
+.B ntfs
+is the New Technology File System (NTFS), the successor of Microsoft
+Window's FAT filesystems since Windows NT. It has reliability, performance,
+and space-utilization enhancements plus features like ACLs, journaling,
+encryption, and so on.
+
+.TP
+.B ocfs2
+is the Oracle Cluster File System 2 (OCFS2), is a general purpose
extent based
+shared disk cluster file system with many similarities to
+.BR ext3 .
+It supports 64 bit inode numbers, and has automatically extending metadata
+groups which may also make it attractive for non-clustered use.
+
+.TP
+.B omfs
+is the Optimized MPEG Filesystem (OMFS), a filesystem created by
SonicBlue for
+use in the ReplayTV DVR and Rio Karma MP3 player.
+
+.TP
+.B pohmelfs
+is the Parallel Optimized Host Message Exchange Layered File System
+(POHMELFS), a distributed network filesystem of Elliptics which supports
+multiple copies, automatic recovery, read load balancing, quorum write and
+many other features.
+
+.TP
+.B proc
+is a pseudo filesystem which is used as an interface to kernel data
+structures rather than reading and interpreting
+.IR /dev/kmem .
+In particular, its files do not take disk space.
+See
+.BR proc (5).
+
+.TP
+.B qnx6
+is the QNX6 Filesystem, the filesystem used by QNX operating systems.
It got
+introduced in QNX 6.4.0 and is used default since 6.4.1.
+
+.TP
+.B ramfs
+is the the 'in memory' filesystems
+.BR ramfs ", " rootfs " and " initramfs .
+.B ramfs
+is a very simple filesystem that exports Linux's disk caching
mechanisms (the
+page cache and dentry cache) as a dynamically resizable RAM-based
filesystem.
+
+.TP
+.B reiserfs
+is a journaling filesystem, designed by Hans Reiser,
+that was integrated into Linux in kernel 2.4.1.
+
+.TP
+.B romfs
+is the Rom FileSystem, a quite dumb, read only filesystem, mainly for
initial
+RAM disks of installation disks.
+
+.TP
+.B smbfs
+is a network filesystem that supports the Server Message Block (SMB)
protocol,
+used by Windows for Workgroups, Windows NT, and Lan Manager.
+.sp
+To use
+.BR smbfs ,
+you need a special mount program, which can be found in the ksmbfs
+package, found at
+.UR ftp://sunsite.unc.edu\:/pub\:/Linux\:/system\:/Filesystems\:/smbfs
+.UE .
+
+.TP
+.B spufs
+is the SPU file system, a filesystem used on PowerPC machines that
implement
+the Cell Broadband Engine Architecture in order to access Synergistic
+Processor Units (SPUs).
+
+.TP
+.B squashfs
+is a compressed read-only file system for Linux.
+.B squashfs
+is intended for general read-only filesystem use, for archival use and in
+constrained block device/memory systems (e.g. embedded systems) where low
+overhead is needed.
+
+.TP
+.B sysfs
+is the a ram-based filesystem initially based on
+.BR ramfs .
+It provides a means to export kernel data structures, their attributes, and
+the linkages between them to userspace.
+
+.TP
+.B sysv
+is an implementation of the SystemV/V7/Xenix/Coherent filesystem for Linux.
+It implements all of Xenix FS, SystemV/386 FS, and Coherent FS.
+
+.TP
+.B tmpfs
+is a Linux file system which keeps all files in virtual memory.
Everything in
+.B tmpfs
+is temporary in the sense that no files will be created on your hard
+drive. If you unmount a
+.B tmpfs
+instance, everything stored therein is lost.
+
+.TP
+.B ubifs
+is the Unsorted Block Images FileSystem (UBIFS), a flash file system.
+
+.TP
+.B udf
+is the Universal Disk Format (UDF), a format designed for incremental
+writing on optical discs.
+
+.TP
+.B ufs
+is the Unix File System (UFS) used by many Unix and Unix-like operating
+systems. It is a distant descendant of the original filesystem used by
Version
+7 Unix. Features of some implementations are undocumented, so its hard to
+recognize type of ufs automatically.
+
+.TP
+.B umsdos
+is an extended DOS filesystem used by Linux. It adds capability for long
+filenames, UID/GID, POSIX permissions, and special files (devices, named
+pipes, etc.) under the DOS filesystem, without sacrificing
compatibility with
+DOS.
+
+.TP
+.B usbfs
+is the USB Device Filesystem, an obsolete filesystem for USB key.
+
+.TP
+.B vfat
+is an extended DOS filesystem used by Microsoft Windows95 and Windows NT.
+.B vfat
+adds the capability to use long filenames under the MSDOS filesystem.
+
+.TP
+.B v9fs
+is a Unix implementation of the Plan 9 9p remote filesystem protocol
+originally developed by Ron Minnich and Maya Gokhale, that was
integrated into
+Linux in kernel 2.6.14. Normal plan9 servers will work with
+.BR v9fs ,
+but for
+folks looking for a Linux-based server we have moved towards support the
+.BR npfs / spfs
+libraries and applications.
+
+.TP
+.B xenix
+See
+.BR sysfs .
+
+.TP
+.B xfs
+is a 64-bit journaling filesystem, developed by Silicon Graphics, Inc
(SGI) in
+1993, that was integrated into Linux in kernel 2.4.20. It was the
default file
+system in the SGI's IRIX operating system starting with its version 5.3
+
+.TP
+.B xiafs
+was designed and implemented to be a stable, safe filesystem by
+extending the Minix filesystem code.
+It provides the basic most
+requested features without undue complexity.
+.B xiafs
+is no longer actively developed or maintained.
+It was removed from the kernel in 2.1.21.
+
.SH SEE ALSO
+.BR ext2 (5),
+.BR ext3 (5),
+.BR ext4 (5),
.BR proc (5),
+.BR pty (7),
.BR fsck (8),
.BR mkfs (8),
.BR mount (8)
--
2.1.4
--
Stéphane Aulery
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html