[PATCH] exfat: doc: add documentation

From: Namjae Jeon

Date: Mon Aug 31 2026 - 06:58:29 EST


Add documentation for the Linux exFAT filesystem driver, including
supported mount options and exfatprogs.

Signed-off-by: Namjae Jeon <linkinjeon@xxxxxxxxxx>
---
Documentation/filesystems/exfat.rst | 117 ++++++++++++++++++++++++++++
Documentation/filesystems/index.rst | 1 +
2 files changed, 118 insertions(+)
create mode 100644 Documentation/filesystems/exfat.rst

diff --git a/Documentation/filesystems/exfat.rst b/Documentation/filesystems/exfat.rst
new file mode 100644
index 000000000000..ce5c9344a7b2
--- /dev/null
+++ b/Documentation/filesystems/exfat.rst
@@ -0,0 +1,117 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+==================================
+The Linux exFAT filesystem driver
+==================================
+
+
+.. Table of contents
+
+ - Overview
+ - Utilities support
+ - Supported mount options
+
+
+Overview
+========
+
+exFAT is a filesystem designed for removable storage and other devices that
+need to store large files. The Linux exFAT filesystem driver provides read
+and write support for exFAT volumes.
+
+To mount an exFAT volume, use the ``exfat`` filesystem type::
+
+ mount -t exfat /dev/sdX1 /mnt
+
+
+Utilities support
+=================
+
+The exfatprogs project provides userspace utilities for creating, checking,
+repairing, inspecting, and tuning exFAT filesystems. Use exfatprogs when
+creating or checking an exFAT filesystem. For example, use ``mkfs.exfat``
+to create a filesystem and ``fsck.exfat`` to check or repair one.
+
+The project is available at:
+
+ https://github.com/exfatprogs/exfatprogs
+
+
+Supported mount options
+=======================
+
+The exFAT driver supports the following mount options:
+
+======================= ====================================================
+uid=
+gid= Set the owner and group of all files and
+ directories. The default is the uid and gid of
+ the process mounting the filesystem.
+
+umask= Set the permission mask for files and directories.
+ The default is the umask of the process mounting
+ the filesystem.
+
+dmask= Set the permission mask for directories.
+
+fmask= Set the permission mask for files.
+
+allow_utime= Control the permission check for changing file
+ timestamps. Only permission bits 0022 are used.
+ Permission bit 0020 allows members of the file's
+ group to change timestamps, and permission bit 0002
+ allows other users to change timestamps. The
+ default is derived from dmask (``~dmask & 0022``).
+
+iocharset=name Character set used to convert between user-visible
+ filenames and the UTF-16 character encoding used by
+ exFAT. The default is
+ CONFIG_EXFAT_DEFAULT_IOCHARSET, which is ``utf8``
+ unless changed at kernel configuration time. Use
+ ``iocharset=utf8`` for UTF-8 filename handling.
+
+errors= Specify exFAT behavior on filesystem errors. The
+ value must be ``panic``, ``continue``, or
+ ``remount-ro``. These respectively panic, continue
+ without changing the filesystem, or remount the
+ filesystem read-only. The default is
+ ``remount-ro``.
+
+discard Issue discard/TRIM requests to the block device
+ when clusters are freed. This is disabled by
+ default. ``nodiscard`` disables it explicitly.
+
+keep_last_dots Keep trailing periods in path components during
+ lookup. Without this option, trailing periods are
+ stripped. Existing entries with trailing periods
+ can be accessed when this option is enabled, but
+ creating new entries with trailing periods is
+ rejected.
+
+sys_tz Use the system timezone as the UTC offset when an
+ exFAT timestamp does not contain a valid timezone
+ offset. This takes precedence over time_offset.
+
+time_offset=minutes Set the UTC offset, in minutes, used when an exFAT
+ timestamp does not contain a valid timezone offset.
+ Values from -1440 to 1440 are accepted. The default
+ is 0. This option is ignored when sys_tz is set.
+
+zero_size_dir Create directories with zero size and without
+ allocating a cluster. This is disabled by default;
+ the default behavior allocates a cluster for a new
+ directory. ``nozero_size_dir`` disables it
+ explicitly.
+======================= ====================================================
+
+
+Deprecated mount options
+------------------------
+
+The following options are accepted for compatibility but should not be used:
+
+``utf8``
+ Deprecated. Use ``iocharset=utf8`` instead.
+
+``debug``, ``namecase=``, ``codepage=``
+ Deprecated and ignored by the exFAT driver.
diff --git a/Documentation/filesystems/index.rst b/Documentation/filesystems/index.rst
index 734a45e51667..fbd55915a318 100644
--- a/Documentation/filesystems/index.rst
+++ b/Documentation/filesystems/index.rst
@@ -87,6 +87,7 @@ Documentation for filesystem implementations.
ecryptfs
efivarfs
erofs
+ exfat
ext2
ext3
ext4/index
--
2.25.1