bcachefs: Drop journal_write_compact()
authorKent Overstreet <kent.overstreet@gmail.com>
Wed, 23 Feb 2022 12:00:34 +0000 (07:00 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:24 +0000 (17:09 -0400)
Long ago it was possible to get a journal reservation and not use it,
but that's no longer allowed, which means journal_write_compact() has
very little work to do, and isn't really worth the code anymore.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
fs/bcachefs/journal_io.c

index 491300e..43a60f5 100644 (file)
@@ -1298,49 +1298,6 @@ done:
        return replicas >= c->opts.metadata_replicas_required ? 0 : -EROFS;
 }
 
-static void journal_write_compact(struct jset *jset)
-{
-       struct jset_entry *i, *next, *prev = NULL;
-
-       /*
-        * Simple compaction, dropping empty jset_entries (from journal
-        * reservations that weren't fully used) and merging jset_entries that
-        * can be.
-        *
-        * If we wanted to be really fancy here, we could sort all the keys in
-        * the jset and drop keys that were overwritten - probably not worth it:
-        */
-       vstruct_for_each_safe(jset, i, next) {
-               unsigned u64s = le16_to_cpu(i->u64s);
-
-               /* Empty entry: */
-               if (!u64s)
-                       continue;
-
-               /* Can we merge with previous entry? */
-               if (prev &&
-                   i->btree_id == prev->btree_id &&
-                   i->level    == prev->level &&
-                   i->type     == prev->type &&
-                   i->type     == BCH_JSET_ENTRY_btree_keys &&
-                   le16_to_cpu(prev->u64s) + u64s <= U16_MAX) {
-                       memmove_u64s_down(vstruct_next(prev),
-                                         i->_data,
-                                         u64s);
-                       le16_add_cpu(&prev->u64s, u64s);
-                       continue;
-               }
-
-               /* Couldn't merge, move i into new position (after prev): */
-               prev = prev ? vstruct_next(prev) : jset->start;
-               if (i != prev)
-                       memmove_u64s_down(prev, i, jset_u64s(u64s));
-       }
-
-       prev = prev ? vstruct_next(prev) : jset->start;
-       jset->u64s = cpu_to_le32((u64 *) prev - jset->_data);
-}
-
 static void journal_buf_realloc(struct journal *j, struct journal_buf *buf)
 {
        /* we aren't holding j->lock: */
@@ -1578,8 +1535,6 @@ void bch2_journal_write(struct closure *cl)
        le32_add_cpu(&jset->u64s, u64s);
        BUG_ON(vstruct_sectors(jset, c->block_bits) > w->sectors);
 
-       journal_write_compact(jset);
-
        jset->magic             = cpu_to_le64(jset_magic(c));
        jset->version           = c->sb.version < bcachefs_metadata_version_new_versioning
                ? cpu_to_le32(BCH_JSET_VERSION_OLD)