]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
xfs: move xfs_submit_zoned_bio a bit
authorChristoph Hellwig <hch@lst.de>
Thu, 5 Jun 2025 06:16:30 +0000 (08:16 +0200)
committerCarlos Maiolino <cem@kernel.org>
Mon, 16 Jun 2025 08:05:08 +0000 (10:05 +0200)
Commit f3e2e53823b9 ("xfs: add inode to zone caching for data placement")
add the new code right between xfs_submit_zoned_bio and
xfs_zone_alloc_and_submit which implement the main zoned write path.
Move xfs_submit_zoned_bio down to keep it together again.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Reviewed-by: Hans Holmberg <hans.holmberg@wdc.com>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
fs/xfs/xfs_zone_alloc.c

index 0de6f64b3169ec4fc776e4fb61b5bce98d81cfbe..01315ed75502dc3b157cb3935c34ed2370e99385 100644 (file)
@@ -777,26 +777,6 @@ xfs_mark_rtg_boundary(
                ioend->io_flags |= IOMAP_IOEND_BOUNDARY;
 }
 
-static void
-xfs_submit_zoned_bio(
-       struct iomap_ioend      *ioend,
-       struct xfs_open_zone    *oz,
-       bool                    is_seq)
-{
-       ioend->io_bio.bi_iter.bi_sector = ioend->io_sector;
-       ioend->io_private = oz;
-       atomic_inc(&oz->oz_ref); /* for xfs_zoned_end_io */
-
-       if (is_seq) {
-               ioend->io_bio.bi_opf &= ~REQ_OP_WRITE;
-               ioend->io_bio.bi_opf |= REQ_OP_ZONE_APPEND;
-       } else {
-               xfs_mark_rtg_boundary(ioend);
-       }
-
-       submit_bio(&ioend->io_bio);
-}
-
 /*
  * Cache the last zone written to for an inode so that it is considered first
  * for subsequent writes.
@@ -891,6 +871,26 @@ xfs_zone_cache_create_association(
        xfs_mru_cache_insert(mp->m_zone_cache, ip->i_ino, &item->mru);
 }
 
+static void
+xfs_submit_zoned_bio(
+       struct iomap_ioend      *ioend,
+       struct xfs_open_zone    *oz,
+       bool                    is_seq)
+{
+       ioend->io_bio.bi_iter.bi_sector = ioend->io_sector;
+       ioend->io_private = oz;
+       atomic_inc(&oz->oz_ref); /* for xfs_zoned_end_io */
+
+       if (is_seq) {
+               ioend->io_bio.bi_opf &= ~REQ_OP_WRITE;
+               ioend->io_bio.bi_opf |= REQ_OP_ZONE_APPEND;
+       } else {
+               xfs_mark_rtg_boundary(ioend);
+       }
+
+       submit_bio(&ioend->io_bio);
+}
+
 void
 xfs_zone_alloc_and_submit(
        struct iomap_ioend      *ioend,