This is an automated email from the ASF dual-hosted git repository.
weichiu pushed a commit to branch HDDS-9225-website-v2
in repository https://gitbox.apache.org/repos/asf/ozone-site.git
The following commit(s) were added to refs/heads/HDDS-9225-website-v2 by this
push:
new 0f0ffbbfc HDDS-14319. [Website v2] [Docs] [System Internals] File
System Optimization (FSO) System Internals (#186)
0f0ffbbfc is described below
commit 0f0ffbbfc891e2da86a3df544909dcd358518d0d
Author: Eric C. Ho <[email protected]>
AuthorDate: Thu Jan 1 04:02:50 2026 +0800
HDDS-14319. [Website v2] [Docs] [System Internals] File System Optimization
(FSO) System Internals (#186)
---
.../07-features/01-filesystem-optimization.md | 56 ++++++++++++++++++++-
.../07-features/PrefixFSO-Delete.png | Bin 0 -> 253792 bytes
.../07-features/PrefixFSO-Format.png | Bin 0 -> 270550 bytes
.../07-features/PrefixFSO-Rename.png | Bin 0 -> 227851 bytes
4 files changed, 55 insertions(+), 1 deletion(-)
diff --git a/docs/07-system-internals/07-features/01-filesystem-optimization.md
b/docs/07-system-internals/07-features/01-filesystem-optimization.md
index 6cc2d1f49..943a96c83 100644
--- a/docs/07-system-internals/07-features/01-filesystem-optimization.md
+++ b/docs/07-system-internals/07-features/01-filesystem-optimization.md
@@ -4,4 +4,58 @@ sidebar_label: Filesystem Optimization (FSO)
# File System Optimization (FSO) System Internals
-**TODO:** File a subtask under
[HDDS-9862](https://issues.apache.org/jira/browse/HDDS-9862) and complete this
page or section.
+The prefix-based File System Optimization feature supports atomic rename and
delete of any directory at any level in the
+namespace in deterministic/constant time.
+
+This feature can be enabled for each specific bucket that requires it by
setting the `--layout` flag
+to `FILE_SYSTEM_OPTIMIZED` at the time of bucket creation.
+
+```bash
+ozone sh bucket create /<volume-name>/<bucket-name> --layout
FILE_SYSTEM_OPTIMIZED
+```
+
+Note: File System Optimization favors Hadoop Compatible File System instead of
S3 compatibility. Some irregular S3 key
+names may be rejected or normalized.
+
+This feature is strongly recommended to be turned ON for Ozone buckets mainly
used via Hadoop compatible interfaces,
+especially with high number of files in deep directory hierarchy.
+
+## OzoneManager Metadata layout format
+
+OzoneManager supports two metadata bucket layout formats - Object Store (OBS)
and File System Optimized (FSO).
+
+Object Store (OBS) is the existing OM metadata format, which stores key entry
with full path name. In File System
+Optimized (FSO) buckets, OM metadata format stores intermediate directories
into `DirectoryTable` and files
+into `FileTable` as shown in the below picture. The key to the table is the
name of a directory or a file prefixed by
+the unique identifier of its parent directory, `<parent unique-id>/<filename>`.
+
+
+
+### Directory delete operation with prefix layout
+
+Following picture describes the OM metadata changes while performing a delete
+ operation on a directory.
+
+
+
+### Directory rename operation with prefix layout
+
+Following picture describes the OM metadata changes while performing a rename
+ operation on a directory.
+
+
+
+## Configuration
+
+The following configuration can be configured in `ozone-site.xml` to define
the default value for bucket layout during bucket creation
+if the client has not specified the bucket layout argument.
+Supported values are `OBJECT_STORE`, `FILE_SYSTEM_OPTIMIZED` and `LEGACY`.
+
+By default, this config value is empty. Ozone will default to
`FILE_SYSTEM_OPTIMIZED` bucket layout if it finds an empty config value.
+
+```xml
+<property>
+ <name>ozone.default.bucket.layout</name>
+ <value/>
+</property>
+```
diff --git a/docs/07-system-internals/07-features/PrefixFSO-Delete.png
b/docs/07-system-internals/07-features/PrefixFSO-Delete.png
new file mode 100644
index 000000000..ec697ce59
Binary files /dev/null and
b/docs/07-system-internals/07-features/PrefixFSO-Delete.png differ
diff --git a/docs/07-system-internals/07-features/PrefixFSO-Format.png
b/docs/07-system-internals/07-features/PrefixFSO-Format.png
new file mode 100644
index 000000000..37707f4d2
Binary files /dev/null and
b/docs/07-system-internals/07-features/PrefixFSO-Format.png differ
diff --git a/docs/07-system-internals/07-features/PrefixFSO-Rename.png
b/docs/07-system-internals/07-features/PrefixFSO-Rename.png
new file mode 100644
index 000000000..c401c108d
Binary files /dev/null and
b/docs/07-system-internals/07-features/PrefixFSO-Rename.png differ
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]