<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Makefile</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>4008e2a0 - zonefs: Reorganize code</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/zonefs/Makefile#4008e2a0</link>
        <description>zonefs: Reorganize codeMove all code related to zone file operations from super.c to the newfile.c file. Inode and zone management code remains in super.c.Signed-off-by: Damien Le Moal &lt;damien.lemoal@opensource.wdc.com&gt;Reviewed-by: Johannes Thumshirn &lt;johannes.thumshirn@wdc.com&gt;

            List of files:
            /linux-6.15/fs/zonefs/Makefile</description>
        <pubDate>Fri, 25 Nov 2022 00:39:33 +0000</pubDate>
        <dc:creator>Damien Le Moal &lt;damien.lemoal@opensource.wdc.com&gt;</dc:creator>
    </item>
<item>
        <title>9277a6d4 - zonefs: Export open zone resource information through sysfs</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/zonefs/Makefile#9277a6d4</link>
        <description>zonefs: Export open zone resource information through sysfsTo allow applications to easily check the current usage status of theopen zone resources of the mounted device, export through sysfs thecounter of write open sequential files s_wro_seq_files field ofstruct zonefs_sb_info. The attribute is named nr_wro_seq_files and isread only.The maximum number of write open sequential files (zones) indicated bythe s_max_wro_seq_files field of struct zonefs_sb_info is also exportedas the read only attribute max_wro_seq_files.Signed-off-by: Damien Le Moal &lt;damien.lemoal@opensource.wdc.com&gt;Reviewed-by: Johannes Thumshirn &lt;johannes.thumshirn@wdc.com&gt;Reviewed-by: Hans Holmberg &lt;hans.holmberg@wdc.com&gt;

            List of files:
            /linux-6.15/fs/zonefs/Makefile</description>
        <pubDate>Tue, 12 Apr 2022 07:25:34 +0000</pubDate>
        <dc:creator>Damien Le Moal &lt;damien.lemoal@opensource.wdc.com&gt;</dc:creator>
    </item>
<item>
        <title>62ab1aad - zonefs: add tracepoints for file operations</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/zonefs/Makefile#62ab1aad</link>
        <description>zonefs: add tracepoints for file operationsAdd tracepoints for file I/O operations to aid in debugging of I/O errorswith zonefs.The added tracepoints are in:- zonefs_zone_mgmt() for tracing zone management operations- zonefs_iomap_begin() for tracing regular file I/O- zonefs_file_dio_append() for tracing zone-append operationsSigned-off-by: Johannes Thumshirn &lt;johannes.thumshirn@wdc.com&gt;Signed-off-by: Damien Le Moal &lt;damien.lemoal@wdc.com&gt;

            List of files:
            /linux-6.15/fs/zonefs/Makefile</description>
        <pubDate>Tue, 26 Jan 2021 20:21:15 +0000</pubDate>
        <dc:creator>Johannes Thumshirn &lt;johannes.thumshirn@wdc.com&gt;</dc:creator>
    </item>
<item>
        <title>8dcc1a9d - fs: New zonefs file system</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/zonefs/Makefile#8dcc1a9d</link>
        <description>fs: New zonefs file systemzonefs is a very simple file system exposing each zone of a zoned blockdevice as a file. Unlike a regular file system with zoned block devicesupport (e.g. f2fs), zonefs does not hide the sequential writeconstraint of zoned block devices to the user. Files representingsequential write zones of the device must be written sequentiallystarting from the end of the file (append only writes).As such, zonefs is in essence closer to a raw block device accessinterface than to a full featured POSIX file system. The goal of zonefsis to simplify the implementation of zoned block device support inapplications by replacing raw block device file accesses with a richerfile API, avoiding relying on direct block device file ioctls which maybe more obscure to developers. One example of this approach is theimplementation of LSM (log-structured merge) tree structures (such asused in RocksDB and LevelDB) on zoned block devices by allowing SSTablesto be stored in a zone file similarly to a regular file system ratherthan as a range of sectors of a zoned device. The introduction of thehigher level construct &quot;one file is one zone&quot; can help reducing theamount of changes needed in the application as well as introducingsupport for different application programming languages.Zonefs on-disk metadata is reduced to an immutable super block topersistently store a magic number and optional feature flags andvalues. On mount, zonefs uses blkdev_report_zones() to obtain the devicezone configuration and populates the mount point with a static file treesolely based on this information. E.g. file sizes come from the devicezone type and write pointer offset managed by the device itself.The zone files created on mount have the following characteristics.1) Files representing zones of the same type are grouped together   under a common sub-directory:     * For conventional zones, the sub-directory &quot;cnv&quot; is used.     * For sequential write zones, the sub-directory &quot;seq&quot; is used.  These two directories are the only directories that exist in zonefs.  Users cannot create other directories and cannot rename nor delete  the &quot;cnv&quot; and &quot;seq&quot; sub-directories.2) The name of zone files is the number of the file within the zone   type sub-directory, in order of increasing zone start sector.3) The size of conventional zone files is fixed to the device zone size.   Conventional zone files cannot be truncated.4) The size of sequential zone files represent the file&apos;s zone write   pointer position relative to the zone start sector. Truncating these   files is allowed only down to 0, in which case, the zone is reset to   rewind the zone write pointer position to the start of the zone, or   up to the zone size, in which case the file&apos;s zone is transitioned   to the FULL state (finish zone operation).5) All read and write operations to files are not allowed beyond the   file zone size. Any access exceeding the zone size is failed with   the -EFBIG error.6) Creating, deleting, renaming or modifying any attribute of files and   sub-directories is not allowed.7) There are no restrictions on the type of read and write operations   that can be issued to conventional zone files. Buffered, direct and   mmap read &amp; write operations are accepted. For sequential zone files,   there are no restrictions on read operations, but all write   operations must be direct IO append writes. mmap write of sequential   files is not allowed.Several optional features of zonefs can be enabled at format time.* Conventional zone aggregation: ranges of contiguous conventional  zones can be aggregated into a single larger file instead of the  default one file per zone.* File ownership: The owner UID and GID of zone files is by default 0  (root) but can be changed to any valid UID/GID.* File access permissions: the default 640 access permissions can be  changed.The mkzonefs tool is used to format zoned block devices for use withzonefs. This tool is available on Github at:git@github.com:damien-lemoal/zonefs-tools.git.zonefs-tools also includes a test suite which can be run against anyzoned block device, including null_blk block device created with zonedmode.Example: the following formats a 15TB host-managed SMR HDD with 256 MBzones with the conventional zones aggregation feature enabled.$ sudo mkzonefs -o aggr_cnv /dev/sdX$ sudo mount -t zonefs /dev/sdX /mnt$ ls -l /mnt/total 0dr-xr-xr-x 2 root root     1 Nov 25 13:23 cnvdr-xr-xr-x 2 root root 55356 Nov 25 13:23 seqThe size of the zone files sub-directories indicate the number of filesexisting for each type of zones. In this example, there is only oneconventional zone file (all conventional zones are aggregated under asingle file).$ ls -l /mnt/cnvtotal 137101312-rw-r----- 1 root root 140391743488 Nov 25 13:23 0This aggregated conventional zone file can be used as a regular file.$ sudo mkfs.ext4 /mnt/cnv/0$ sudo mount -o loop /mnt/cnv/0 /dataThe &quot;seq&quot; sub-directory grouping files for sequential write zones hasin this example 55356 zones.$ ls -lv /mnt/seqtotal 14511243264-rw-r----- 1 root root 0 Nov 25 13:23 0-rw-r----- 1 root root 0 Nov 25 13:23 1-rw-r----- 1 root root 0 Nov 25 13:23 2...-rw-r----- 1 root root 0 Nov 25 13:23 55354-rw-r----- 1 root root 0 Nov 25 13:23 55355For sequential write zone files, the file size changes as data isappended at the end of the file, similarly to any regular file system.$ dd if=/dev/zero of=/mnt/seq/0 bs=4K count=1 conv=notrunc oflag=direct1+0 records in1+0 records out4096 bytes (4.1 kB, 4.0 KiB) copied, 0.000452219 s, 9.1 MB/s$ ls -l /mnt/seq/0-rw-r----- 1 root root 4096 Nov 25 13:23 /mnt/seq/0The written file can be truncated to the zone size, preventing anyfurther write operation.$ truncate -s 268435456 /mnt/seq/0$ ls -l /mnt/seq/0-rw-r----- 1 root root 268435456 Nov 25 13:49 /mnt/seq/0Truncation to 0 size allows freeing the file zone storage space andrestart append-writes to the file.$ truncate -s 0 /mnt/seq/0$ ls -l /mnt/seq/0-rw-r----- 1 root root 0 Nov 25 13:49 /mnt/seq/0Since files are statically mapped to zones on the disk, the number ofblocks of a file as reported by stat() and fstat() indicates the sizeof the file zone.$ stat /mnt/seq/0  File: /mnt/seq/0  Size: 0       Blocks: 524288     IO Block: 4096   regular empty fileDevice: 870h/2160d      Inode: 50431       Links: 1Access: (0640/-rw-r-----)  Uid: (    0/    root)   Gid: (    0/  root)Access: 2019-11-25 13:23:57.048971997 +0900Modify: 2019-11-25 13:52:25.553805765 +0900Change: 2019-11-25 13:52:25.553805765 +0900 Birth: -The number of blocks of the file (&quot;Blocks&quot;) in units of 512B blocksgives the maximum file size of 524288 * 512 B = 256 MB, correspondingto the device zone size in this example. Of note is that the &quot;IO block&quot;field always indicates the minimum IO size for writes and correspondsto the device physical sector size.This code contains contributions from:* Johannes Thumshirn &lt;jthumshirn@suse.de&gt;,* Darrick J. Wong &lt;darrick.wong@oracle.com&gt;,* Christoph Hellwig &lt;hch@lst.de&gt;,* Chaitanya Kulkarni &lt;chaitanya.kulkarni@wdc.com&gt; and* Ting Yao &lt;tingyao@hust.edu.cn&gt;.Signed-off-by: Damien Le Moal &lt;damien.lemoal@wdc.com&gt;Reviewed-by: Dave Chinner &lt;dchinner@redhat.com&gt;

            List of files:
            /linux-6.15/fs/zonefs/Makefile</description>
        <pubDate>Wed, 25 Dec 2019 07:07:44 +0000</pubDate>
        <dc:creator>Damien Le Moal &lt;damien.lemoal@wdc.com&gt;</dc:creator>
    </item>
</channel>
</rss>
