mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
xfs: move xfs_submit_zoned_bio a bit
Commit f3e2e53823
("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>
This commit is contained in:
parent
df3b7e2b56
commit
0989dfa61f
1 changed files with 20 additions and 20 deletions
|
@ -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,
|
||||
|
|
Loading…
Add table
Reference in a new issue