<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in bkey_methods.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>71f8e806 - bcachefs: Stricter checks on &quot;key allowed in this btree&quot;</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#71f8e806</link>
        <description>bcachefs: Stricter checks on &quot;key allowed in this btree&quot;Syzbot managed to come up with a filesystem where check/repair gotrather confused at finding a reflink pointer in the inodes btree.Currently, the &quot;key allowed in this btree&quot; checks only apply at committime, not read time - for forwards compatibility. It seems this is tooloose.Now, strict key type allowed checks apply: - at commit time (no forward compatibility issues) - for btree node pointers - if it&apos;s a known btree, known key type, and the key type has the   &quot;BKEY_TYPE_strict_btree_checks&quot; flag.This means we still have the option of using generic key types - e.g.KEY_TYPE_error, KEY_TYPE_set - on more existing btrees in the future,while most key types that are intended for only a specific btree getstricter checks.Reported-by: syzbot+baee8591f336cab0958b@syzkaller.appspotmail.comSigned-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Fri, 18 Apr 2025 16:49:00 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>a6f4794f - bcachefs: struct bkey_validate_context</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#a6f4794f</link>
        <description>bcachefs: struct bkey_validate_contextAdd a new parameter to bkey validate functions, and use it to improveinvalid bkey error messages: we can now print the btree and depth itcame from, or if it came from the journal, or is a btree root.Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Wed, 27 Nov 2024 05:29:52 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>cf49f8a8 - bcachefs: rename version -&gt; bversion</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#cf49f8a8</link>
        <description>bcachefs: rename version -&gt; bversiongive bversions a more distinct name, to aid in greppingSigned-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Thu, 26 Sep 2024 19:49:17 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>d97de0d0 - bcachefs: Make bkey_fsck_err() a wrapper around fsck_err()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#d97de0d0</link>
        <description>bcachefs: Make bkey_fsck_err() a wrapper around fsck_err()bkey_fsck_err() was added as an interface that looks like fsck_err(),but previously all it did was ensure that the appropriate error counterwas incremented in the superblock.This is a cleanup and bugfix patch that converts it to a wrapper aroundfsck_err(). This is needed to fix an issue with the upgrade path todisk_accounting_v3, where the &quot;silent fix&quot; error list now includesbkey_fsck errors; fsck_err() handles this in a unified way, and since weneed to change printing of bkey fsck errors from the caller to the innerbkey_fsck_err() calls, this ends up being a pretty big change.Als,, rename .invalid() methods to .validate(), for clarity, while we&apos;rechanging the function signature anyways (to drop the printbuf argument).Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Tue, 13 Aug 2024 01:31:25 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>2744e5c9 - bcachefs: KEY_TYPE_accounting</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#2744e5c9</link>
        <description>bcachefs: KEY_TYPE_accountingNew key type for the disk space accounting rewrite. - Holds a variable sized array of u64s (may be more than one for   accounting e.g. compressed and uncompressed size, or buckets and   sectors for a given data type) - Updates are deltas, not new versions of the key: this means updates   to accounting can happen via the btree write buffer, which we&apos;ll be   teaching to accumulate deltas.Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Wed, 27 Dec 2023 23:31:46 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>d47df4f6 - bcachefs: Fix array-index-out-of-bounds</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#d47df4f6</link>
        <description>bcachefs: Fix array-index-out-of-boundsWe use 0 size arrays as markers, but ubsan doesn&apos;t know that - cast themto a pointer to fix the splat.Also, make sure this code gets tested a bit more.Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Wed, 12 Jun 2024 23:51:15 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>07f9a27f - bcachefs: add no_invalid_checks flag</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#07f9a27f</link>
        <description>bcachefs: add no_invalid_checks flagSetting this flag on a filesystem results in validity checks beingskipped when writing bkeys. This flag will be used by tooling thatdeliberately injects corruption into a filesystem in order to exercisefsck. It shouldn&apos;t be set outside of testing/debugging code.Signed-off-by: Thomas Bertschinger &lt;tahbertschinger@gmail.com&gt;Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Thu, 09 May 2024 18:37:24 +0000</pubDate>
        <dc:creator>Thomas Bertschinger &lt;tahbertschinger@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>65eaf4e2 - bcachefs: s/bkey_invalid_flags/bch_validate_flags</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#65eaf4e2</link>
        <description>bcachefs: s/bkey_invalid_flags/bch_validate_flagsWe&apos;re about to start using bch_validate_flags for superblock sectionvalidation - it&apos;s no longer bkey specific.Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Wed, 08 May 2024 22:40:42 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>2bb9600d - bcachefs: Guard against unknown k.k-&gt;type in __bkey_invalid()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#2bb9600d</link>
        <description>bcachefs: Guard against unknown k.k-&gt;type in __bkey_invalid()For forwards compatibility we have to allow unknown key types, and onlyrun the checks that make sense against them.Fix a missing guard on k.k-&gt;type being known.Reported-by: syzbot+ae4dc916da3ce51f284f@syzkaller.appspotmail.comSigned-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Mon, 06 May 2024 02:33:05 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>d789e9a7 - bcachefs: Interior known are required to have known key types</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#d789e9a7</link>
        <description>bcachefs: Interior known are required to have known key typesFor forwards compatibilyt, we allow bkeys of unknown type in leaf nodes;we can simply ignore metadata we don&apos;t understand. Pointers to btreenodes must always be of known types, howwever.Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Sun, 14 Apr 2024 03:59:28 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>bceb86be - bcachefs: add missing bounds check in __bch2_bkey_val_invalid()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#bceb86be</link>
        <description>bcachefs: add missing bounds check in __bch2_bkey_val_invalid()Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Sun, 14 Apr 2024 03:59:06 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>741c1d3e - bcachefs: Add .val_to_text() for KEY_TYPE_cookie</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#741c1d3e</link>
        <description>bcachefs: Add .val_to_text() for KEY_TYPE_cookieSigned-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Mon, 15 Jan 2024 19:15:03 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>d3c7727b - bcachefs: rebalance_work btree is not a snapshots btree</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#d3c7727b</link>
        <description>bcachefs: rebalance_work btree is not a snapshots btreerebalance_work entries may refer to entries in the extents btree, whichis a snapshots btree, or they may also refer to entries in the reflinkbtree, which is not.Hence rebalance_work keys may use the snapshot field but it&apos;s notrequired to be nonzero - add a new btree flag to reflect this.Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Fri, 03 Nov 2023 22:30:08 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>b65db750 - bcachefs: Enumerate fsck errors</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#b65db750</link>
        <description>bcachefs: Enumerate fsck errorsThis patch adds a superblock error counter for every distinct fsckerror; this means that when analyzing filesystems out in the wild we&apos;llbe able to see what sorts of inconsistencies are being found and repair,and hence what bugs to look for.Errors validating bkeys are not yet considered distinct fsck errors, butthis patch adds a new helper, bkey_fsck_err(), in order to add distincterror types for them as well.Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Wed, 25 Oct 2023 00:44:36 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>50a38ca1 - bcachefs: Fix btree_node_type enum</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#50a38ca1</link>
        <description>bcachefs: Fix btree_node_type enumMore forwards compatibility fixups: having BKEY_TYPE_btree at the end ofthe enum conflicts with unnkown btree IDs, this shifts BKEY_TYPE_btreeto slot 0 and fixes things up accordingly.Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Fri, 20 Oct 2023 04:01:53 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>88dfe193 - bcachefs: bch2_btree_id_str()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#88dfe193</link>
        <description>bcachefs: bch2_btree_id_str()Since we can run with unknown btree IDs, we can&apos;t directly index btreeIDs into fixed size arrays.Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Fri, 20 Oct 2023 02:49:08 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>6929d5e7 - bcachefs: Fix handling of unknown bkey types</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#6929d5e7</link>
        <description>bcachefs: Fix handling of unknown bkey typesmin_val_size was U8_MAX for unknown key types, causing us to flag anyknown key as invalid - it should have been 0.Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Fri, 29 Sep 2023 00:24:21 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>96dea3d5 - bcachefs: Fix W=12 build errors</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#96dea3d5</link>
        <description>bcachefs: Fix W=12 build errorsSigned-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Tue, 12 Sep 2023 22:41:22 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
<item>
        <title>1f70225d - bcachefs: Fix -Wincompatible-function-pointer-types-strict from key_invalid callbacks</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#1f70225d</link>
        <description>bcachefs: Fix -Wincompatible-function-pointer-types-strict from key_invalid callbacksWhen building bcachefs with -Wincompatible-function-pointer-types-strict,a clang warning designed to catch issues with mismatched functionpointer types, which will be fatal at runtime due to kernel Control FlowIntegrity (kCFI), there are several instances along the lines of:  fs/bcachefs/bkey_methods.c:118:2: error: incompatible function pointer types initializing &apos;int (*)(const struct bch_fs *, struct bkey_s_c, enum bkey_invalid_flags, struct printbuf *)&apos; with an expression of type &apos;int (const struct bch_fs *, struct bkey_s_c, unsigned int, struct printbuf *)&apos; [-Werror,-Wincompatible-function-pointer-types-strict]    118 |         BCH_BKEY_TYPES()        |         ^~~~~~~~~~~~~~~~  fs/bcachefs/bcachefs_format.h:342:2: note: expanded from macro &apos;BCH_BKEY_TYPES&apos;    342 |         x(deleted,              0)                      \        |         ^~~~~~~~~~~~~~~~~~~~~~~~~~  fs/bcachefs/bkey_methods.c:117:41: note: expanded from macro &apos;x&apos;    117 | #define x(name, nr) [KEY_TYPE_##name]   = bch2_bkey_ops_##name,        |                                           ^~~~~~~~~~~~~~~~~~~~  &lt;scratch space&gt;:206:1: note: expanded from here    206 | bch2_bkey_ops_deleted        | ^~~~~~~~~~~~~~~~~~~~~  fs/bcachefs/bkey_methods.c:34:17: note: expanded from macro &apos;bch2_bkey_ops_deleted&apos;     34 |         .key_invalid = deleted_key_invalid,             \        |                        ^~~~~~~~~~~~~~~~~~~The flags parameter should be of type &apos;enum bkey_invalid_flags&apos;, not&apos;unsigned int&apos;. Adjust the type everywhere so that there is no morewarning.Signed-off-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Tue, 12 Sep 2023 19:15:42 +0000</pubDate>
        <dc:creator>Nathan Chancellor &lt;nathan@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>b030e262 - bcachefs: Log truncate operations</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/bcachefs/bkey_methods.c#b030e262</link>
        <description>bcachefs: Log truncate operationsPreviously, we guaranteed atomicity of truncate after unclean shutdownwith the BCH_INODE_I_SIZE_DIRTY flag - which required a full scan of theinodes btree.Recently the deleted inodes btree was added so that we no longer have toscan for deleted inodes, but truncate was unfinished and that changeleft it broken.This patch uses the new logged operations btree to fix truncateatomicity; we now log an operation that can be replayed at the start ofa truncate.Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;

            List of files:
            /linux-6.15/fs/bcachefs/bkey_methods.c</description>
        <pubDate>Sun, 10 Sep 2023 20:42:30 +0000</pubDate>
        <dc:creator>Kent Overstreet &lt;kent.overstreet@linux.dev&gt;</dc:creator>
    </item>
</channel>
</rss>
