]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
btrfs: tree-log: add and rename extent bits for dirty_log_pages tree
authorDavid Sterba <dsterba@suse.com>
Tue, 10 Jun 2025 16:30:09 +0000 (18:30 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 21 Jul 2025 21:58:01 +0000 (23:58 +0200)
The dirty_log_pages tree is used for tree logging and marks extents
based on log_transid. The bits could be renamed to resemble the
LOG1/LOG2 naming used for the BTRFS_FS_LOG1_ERR bits.

The DIRTY bit is renamed to LOG1 and NEW to LOG2.

Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent-io-tree.h
fs/btrfs/extent-tree.c
fs/btrfs/tests/extent-io-tests.c
fs/btrfs/transaction.c
fs/btrfs/tree-log.c
include/trace/events/btrfs.h

index 0a18ca9c59c308ae628f445bbad5d301c349fb26..819da07bff09507a19a37805de1f7676e8ea083c 100644 (file)
@@ -19,7 +19,8 @@ enum {
        ENUM_BIT(EXTENT_DIRTY),
        ENUM_BIT(EXTENT_LOCKED),
        ENUM_BIT(EXTENT_DIO_LOCKED),
-       ENUM_BIT(EXTENT_NEW),
+       ENUM_BIT(EXTENT_DIRTY_LOG1),
+       ENUM_BIT(EXTENT_DIRTY_LOG2),
        ENUM_BIT(EXTENT_DELALLOC),
        ENUM_BIT(EXTENT_DEFRAG),
        ENUM_BIT(EXTENT_BOUNDARY),
index b227c4690e5d630b6d62a749fe8b7f278281ac56..348b1920f33b3e77bc79c8756aa1926642746e31 100644 (file)
@@ -5113,11 +5113,11 @@ btrfs_init_new_buffer(struct btrfs_trans_handle *trans, struct btrfs_root *root,
                if (buf->log_index == 0)
                        btrfs_set_extent_bit(&root->dirty_log_pages, buf->start,
                                             buf->start + buf->len - 1,
-                                            EXTENT_DIRTY, NULL);
+                                            EXTENT_DIRTY_LOG1, NULL);
                else
                        btrfs_set_extent_bit(&root->dirty_log_pages, buf->start,
                                             buf->start + buf->len - 1,
-                                            EXTENT_NEW, NULL);
+                                            EXTENT_DIRTY_LOG2, NULL);
        } else {
                buf->log_index = -1;
                btrfs_set_extent_bit(&trans->transaction->dirty_pages, buf->start,
index 00da54f0164c9436518576eb066e20f88cf0207f..557d05220de16f1eb0c47252a6885d731b7b0fda 100644 (file)
@@ -75,7 +75,8 @@ static void extent_flag_to_str(const struct extent_state *state, char *dest)
        dest[0] = 0;
        PRINT_ONE_FLAG(state, dest, cur, DIRTY);
        PRINT_ONE_FLAG(state, dest, cur, LOCKED);
-       PRINT_ONE_FLAG(state, dest, cur, NEW);
+       PRINT_ONE_FLAG(state, dest, cur, DIRTY_LOG1);
+       PRINT_ONE_FLAG(state, dest, cur, DIRTY_LOG2);
        PRINT_ONE_FLAG(state, dest, cur, DELALLOC);
        PRINT_ONE_FLAG(state, dest, cur, DEFRAG);
        PRINT_ONE_FLAG(state, dest, cur, BOUNDARY);
index 825d135ef6c7adf500e1f31ab03560754524c263..2e07c90be5cd15c3c43fea9d2b7e4cdf5089665e 100644 (file)
@@ -1232,11 +1232,11 @@ int btrfs_wait_tree_log_extents(struct btrfs_root *log_root, int mark)
        ASSERT(btrfs_root_id(log_root) == BTRFS_TREE_LOG_OBJECTID);
 
        ret = __btrfs_wait_marked_extents(fs_info, dirty_pages);
-       if ((mark & EXTENT_DIRTY) &&
+       if ((mark & EXTENT_DIRTY_LOG1) &&
            test_and_clear_bit(BTRFS_FS_LOG1_ERR, &fs_info->flags))
                errors = true;
 
-       if ((mark & EXTENT_NEW) &&
+       if ((mark & EXTENT_DIRTY_LOG2) &&
            test_and_clear_bit(BTRFS_FS_LOG2_ERR, &fs_info->flags))
                errors = true;
 
index a7590c8c9996e8001faf4b1a2c35aaa49abe5856..a1e8ba7577f87089415ac64edeae77dadc4e4d36 100644 (file)
@@ -2960,9 +2960,9 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans,
        }
 
        if (log_transid % 2 == 0)
-               mark = EXTENT_DIRTY;
+               mark = EXTENT_DIRTY_LOG1;
        else
-               mark = EXTENT_NEW;
+               mark = EXTENT_DIRTY_LOG2;
 
        /* we start IO on  all the marked extents here, but we don't actually
         * wait for them until later.
@@ -3093,7 +3093,7 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans,
 
        ret = btrfs_write_marked_extents(fs_info,
                                         &log_root_tree->dirty_log_pages,
-                                        EXTENT_DIRTY | EXTENT_NEW);
+                                        EXTENT_DIRTY_LOG1 | EXTENT_DIRTY_LOG2);
        blk_finish_plug(&plug);
        /*
         * As described above, -EAGAIN indicates a hole in the extents. We
@@ -3113,7 +3113,7 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans,
        ret = btrfs_wait_tree_log_extents(log, mark);
        if (!ret)
                ret = btrfs_wait_tree_log_extents(log_root_tree,
-                                                 EXTENT_NEW | EXTENT_DIRTY);
+                                                 EXTENT_DIRTY_LOG1 | EXTENT_DIRTY_LOG2);
        if (ret) {
                btrfs_set_log_full_commit(trans);
                mutex_unlock(&log_root_tree->log_mutex);
@@ -3239,9 +3239,9 @@ static void free_log_tree(struct btrfs_trans_handle *trans,
                         */
                        btrfs_write_marked_extents(log->fs_info,
                                                   &log->dirty_log_pages,
-                                                  EXTENT_DIRTY | EXTENT_NEW);
+                                                  EXTENT_DIRTY_LOG1 | EXTENT_DIRTY_LOG2);
                        btrfs_wait_tree_log_extents(log,
-                                                   EXTENT_DIRTY | EXTENT_NEW);
+                                                   EXTENT_DIRTY_LOG1 | EXTENT_DIRTY_LOG2);
 
                        if (trans)
                                btrfs_abort_transaction(trans, ret);
index a32305044371d900709910f344f17c2b00d2fd40..d54fe354b39005b0b99e8755b43dacf1a6236b82 100644 (file)
@@ -144,7 +144,8 @@ FLUSH_STATES
 #define EXTENT_FLAGS                                           \
        { EXTENT_DIRTY,                 "DIRTY"},               \
        { EXTENT_LOCKED,                "LOCKED"},              \
-       { EXTENT_NEW,                   "NEW"},                 \
+       { EXTENT_DIRTY_LOG1,            "DIRTY_LOG1"},          \
+       { EXTENT_DIRTY_LOG2,            "DIRTY_LOG2"},          \
        { EXTENT_DELALLOC,              "DELALLOC"},            \
        { EXTENT_DEFRAG,                "DEFRAG"},              \
        { EXTENT_BOUNDARY,              "BOUNDARY"},            \