Commit 4c96870e authored by Johannes Thumshirn's avatar Johannes Thumshirn Committed by Damien Le Moal

zonefs: update documentation to reflect zone size vs capacity

Update the zonefs documentation to reflect the difference between a zone's
size and it's capacity.

The maximum file size in zonefs is the zones capacity, for ZBC and ZAC
based devices, which do not have a separate zone capacity, the zone
capacity is equal to the zone size.
Signed-off-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
parent e3c3155b
...@@ -110,14 +110,14 @@ contain files named "0", "1", "2", ... The file numbers also represent ...@@ -110,14 +110,14 @@ contain files named "0", "1", "2", ... The file numbers also represent
increasing zone start sector on the device. increasing zone start sector on the device.
All read and write operations to zone files are not allowed beyond the file All read and write operations to zone files are not allowed beyond the file
maximum size, that is, beyond the zone size. Any access exceeding the zone maximum size, that is, beyond the zone capacity. Any access exceeding the zone
size is failed with the -EFBIG error. capacity is failed with the -EFBIG error.
Creating, deleting, renaming or modifying any attribute of files and Creating, deleting, renaming or modifying any attribute of files and
sub-directories is not allowed. sub-directories is not allowed.
The number of blocks of a file as reported by stat() and fstat() indicates the The number of blocks of a file as reported by stat() and fstat() indicates the
size of the file zone, or in other words, the maximum file size. capacity of the zone file, or in other words, the maximum file size.
Conventional zone files Conventional zone files
----------------------- -----------------------
...@@ -156,8 +156,8 @@ all accepted. ...@@ -156,8 +156,8 @@ all accepted.
Truncating sequential zone files is allowed only down to 0, in which case, the Truncating sequential zone files is allowed only down to 0, in which case, the
zone is reset to rewind the file zone write pointer position to the start of zone is reset to rewind the file zone write pointer position to the start of
the zone, or up to the zone size, in which case the file's zone is transitioned the zone, or up to the zone capacity, in which case the file's zone is
to the FULL state (finish zone operation). transitioned to the FULL state (finish zone operation).
Format options Format options
-------------- --------------
...@@ -324,7 +324,7 @@ file size set to 0. This is necessary as the write pointer of read-only zones ...@@ -324,7 +324,7 @@ file size set to 0. This is necessary as the write pointer of read-only zones
is defined as invalib by the ZBC and ZAC standards, making it impossible to is defined as invalib by the ZBC and ZAC standards, making it impossible to
discover the amount of data that has been written to the zone. In the case of a discover the amount of data that has been written to the zone. In the case of a
read-only zone discovered at run-time, as indicated in the previous section. read-only zone discovered at run-time, as indicated in the previous section.
the size of the zone file is left unchanged from its last updated value. The size of the zone file is left unchanged from its last updated value.
Zonefs User Space Tools Zonefs User Space Tools
======================= =======================
...@@ -401,8 +401,9 @@ append-writes to the file:: ...@@ -401,8 +401,9 @@ append-writes to the file::
# ls -l /mnt/seq/0 # ls -l /mnt/seq/0
-rw-r----- 1 root root 0 Nov 25 13:49 /mnt/seq/0 -rw-r----- 1 root root 0 Nov 25 13:49 /mnt/seq/0
Since files are statically mapped to zones on the disk, the number of blocks of Since files are statically mapped to zones on the disk, the number of blocks
a file as reported by stat() and fstat() indicates the size of the file zone:: of a file as reported by stat() and fstat() indicates the capacity of the file
zone::
# stat /mnt/seq/0 # stat /mnt/seq/0
File: /mnt/seq/0 File: /mnt/seq/0
...@@ -416,5 +417,6 @@ a file as reported by stat() and fstat() indicates the size of the file zone:: ...@@ -416,5 +417,6 @@ a file as reported by stat() and fstat() indicates the size of the file zone::
The number of blocks of the file ("Blocks") in units of 512B blocks gives the The number of blocks of the file ("Blocks") in units of 512B blocks gives the
maximum file size of 524288 * 512 B = 256 MB, corresponding to the device zone maximum file size of 524288 * 512 B = 256 MB, corresponding to the device zone
size in this example. Of note is that the "IO block" field always indicates the capacity in this example. Of note is that the "IO block" field always
minimum I/O size for writes and corresponds to the device physical sector size. indicates the minimum I/O size for writes and corresponds to the device
physical sector size.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment