btrfs, mm: remove the punt_to_cgroup field in struct writeback_control
authorChristoph Hellwig <hch@lst.de>
Mon, 27 Mar 2023 00:49:50 +0000 (09:49 +0900)
committerDavid Sterba <dsterba@suse.com>
Mon, 17 Apr 2023 16:01:22 +0000 (18:01 +0200)
punt_to_cgroup is only used by extent_write_locked_range, but that
function also directly controls the bio flags for the actual submission.
Remove th punt_to_cgroup field, and just set REQ_CGROUP_PUNT directly
in extent_write_locked_range.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c
include/linux/writeback.h

index 1221f69..f5702b1 100644 (file)
@@ -2533,13 +2533,13 @@ int extent_write_locked_range(struct inode *inode, u64 start, u64 end)
                .sync_mode      = WB_SYNC_ALL,
                .range_start    = start,
                .range_end      = end + 1,
-               /* We're called from an async helper function */
-               .punt_to_cgroup = 1,
                .no_cgroup_owner = 1,
        };
        struct btrfs_bio_ctrl bio_ctrl = {
                .wbc = &wbc_writepages,
-               .opf = REQ_OP_WRITE | wbc_to_write_flags(&wbc_writepages),
+               /* We're called from an async helper function */
+               .opf = REQ_OP_WRITE | REQ_CGROUP_PUNT |
+                       wbc_to_write_flags(&wbc_writepages),
                .extent_locked = 1,
        };
 
index 4602037..fba9379 100644 (file)
@@ -70,8 +70,6 @@ struct writeback_control {
         */
        unsigned no_cgroup_owner:1;
 
-       unsigned punt_to_cgroup:1;      /* cgrp punting, see __REQ_CGROUP_PUNT */
-
        /* To enable batching of swap writes to non-block-device backends,
         * "plug" can be set point to a 'struct swap_iocb *'.  When all swap
         * writes have been submitted, if with swap_iocb is not NULL,
@@ -97,9 +95,6 @@ static inline blk_opf_t wbc_to_write_flags(struct writeback_control *wbc)
 {
        blk_opf_t flags = 0;
 
-       if (wbc->punt_to_cgroup)
-               flags = REQ_CGROUP_PUNT;
-
        if (wbc->sync_mode == WB_SYNC_ALL)
                flags |= REQ_SYNC;
        else if (wbc->for_kupdate || wbc->for_background)