Lines Matching full:zone
4 ZoneFS - Zone filesystem for Zoned block devices
10 zonefs is a very simple file system exposing each zone of a zoned block device
24 by allowing SSTables to be stored in a zone file similarly to a regular file
26 of the higher level construct "one file is one zone" can help reducing the
34 space that is divided into zones. A zone is a group of consecutive LBAs and all
41 sequentially. Each sequential zone has a write pointer maintained by the
43 to the device. As a result of this write constraint, LBAs in a sequential zone
45 command (zone reset) before rewriting.
61 representing zones are grouped by zone type, which are themselves represented
62 by sub-directories. This file structure is built entirely using zone information
71 mount, zonefs uses blkdev_report_zones() to obtain the device zone configuration
73 information. File sizes come from the device zone type and write pointer
76 The super block is always written on disk at sector 0. The first zone of the
77 device storing the super block is never exposed as a zone file by zonefs. If
78 the zone containing the super block is a sequential zone, the mkzonefs format
79 tool always "finishes" the zone, that is, it transitions the zone to a full
82 Zone type sub-directories
90 the device only has a single conventional zone at sector 0, the zone will not
104 Zone files
107 Zone files are named using the number of the zone they represent within the set
110 increasing zone start sector on the device.
112 All read and write operations to zone files are not allowed beyond the file
113 maximum size, that is, beyond the zone capacity. Any access exceeding the zone
120 capacity of the zone file, or in other words, the maximum file size.
122 Conventional zone files
125 The size of conventional zone files is fixed to the size of the zone they
126 represent. Conventional zone files cannot be truncated.
132 Sequential zone files
135 The size of sequential zone files grouped in the "seq" sub-directory represents
136 the file's zone write pointer position relative to the zone start sector.
138 Sequential zone files can only be written sequentially, starting from the file
154 sequential zone files. Buffered I/Os, direct I/Os and shared read mappings are
157 Truncating sequential zone files is allowed only down to 0, in which case, the
158 zone is reset to rewind the file zone write pointer position to the start of
159 the zone, or up to the zone capacity, in which case the file's zone is
160 transitioned to the FULL state (finish zone operation).
167 * Conventional zone aggregation: ranges of contiguous conventional zones can be
168 aggregated into a single larger file instead of the default one file per zone.
169 * File ownership: The owner UID and GID of zone files is by default 0 (root)
181 * A zone may transition to the read-only condition (BLK_ZONE_COND_READONLY):
182 While the data already written in the zone is still readable, the zone can
183 no longer be written. No user action on the zone (zone management command or
184 read/write access) can change the zone condition back to a normal read/write
185 state. While the reasons for the device to transition a zone to read-only
190 * A zone may transition to the offline condition (BLK_ZONE_COND_OFFLINE):
191 An offline zone cannot be read nor written. No user action can transition an
192 offline zone back to an operational good state. Similarly to zone read-only
193 transitions, the reasons for a drive to transition a zone to the offline
199 requests with a start sector that does not correspond to a zone write pointer
212 errors can propagate through a stream of cached sequential data for a zone
218 vs write) and on the reason for the error (bad sector, unaligned writes or zone
222 but only if the file zone is still in a good condition and there is no
223 inconsistency between the file inode size and its zone write pointer position.
228 * A zone condition change to read-only or offline also always triggers zonefs
235 Immediate or delayed write errors in a sequential zone file may cause the file
237 the file zone. For instance, the partial failure of a multi-BIO large write
238 operation will cause the zone write pointer to advance partially, even though
240 case, the file inode size must be advanced to reflect the zone write pointer
244 fsync(): in this case, the amount of data effectively written in the zone may
247 persistently stored in the file zone.
250 A zone condition change to read-only is indicated with a change in the file
257 zonefs I/O error processing depending on the mount option and on the zone
263 | mount | zone | file file device zone |
271 | zone-ro | read-only | as is yes no yes no |
275 | zone-offline | read-only | 0 no no yes no |
292 with mkfs.zonefs (mkzonefs) will not change back offline zone files to a good
297 * File access permission changes implied by the remount-ro, zone-ro and
298 zone-offline mount options are temporary for zones in a good condition.
304 the zone file access permissions as noted in the table above.
310 zonefs behavior in response to I/O errors, inode size inconsistencies or zone
314 * zone-ro
315 * zone-offline
321 If a read-only zone is found at mount time, the zone is always treated in the
322 same manner as offline zones, that is, all accesses are disabled and the zone
325 discover the amount of data that has been written to the zone. In the case of a
326 read-only zone discovered at run-time, as indicated in the previous section.
327 The size of the zone file is left unchanged from its last updated value.
333 limit being exceeded if the zone of a file is not already active when a write
337 to be made active using an open zone command when a file is opened for writing
338 for the first time. If the zone open command succeeds, the application is then
340 "explicit-open" mount option will result in a zone close command being issued
341 to the device on the last close() of a zone file if the zone is not full nor
368 The size of the zone files sub-directories indicate the number of files
370 conventional zone file (all conventional zones are aggregated under a single
377 This aggregated conventional zone file can be used as a regular file::
394 For sequential write zone files, the file size changes as data is appended at
405 The written file can be truncated to the zone size, preventing any further
412 Truncation to 0 size allows freeing the file zone storage space and restart
421 zone::
434 maximum file size of 524288 * 512 B = 256 MB, corresponding to the device zone