Commit cae843b
Add hash version tracking for automatic merkle tree migration
Store a hash_version in ace_mtree_metadata so that mtree-update can
detect trees built with an older hash algorithm and automatically
recompute all leaf hashes. On first mtree-update after upgrade, the
version mismatch marks all leaves dirty, triggering a full recompute
within the normal update flow. This is crash-safe (version is updated
in the same transaction as the hashes) and idempotent.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent 8502e5d commit cae843b
3 files changed
Lines changed: 128 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
29 | 34 | | |
30 | 35 | | |
31 | 36 | | |
| |||
1165 | 1170 | | |
1166 | 1171 | | |
1167 | 1172 | | |
1168 | | - | |
| 1173 | + | |
1169 | 1174 | | |
1170 | 1175 | | |
1171 | 1176 | | |
1172 | 1177 | | |
1173 | 1178 | | |
1174 | | - | |
| 1179 | + | |
1175 | 1180 | | |
1176 | 1181 | | |
1177 | 1182 | | |
| |||
2326 | 2331 | | |
2327 | 2332 | | |
2328 | 2333 | | |
| 2334 | + | |
| 2335 | + | |
| 2336 | + | |
| 2337 | + | |
| 2338 | + | |
| 2339 | + | |
| 2340 | + | |
| 2341 | + | |
| 2342 | + | |
| 2343 | + | |
| 2344 | + | |
| 2345 | + | |
| 2346 | + | |
| 2347 | + | |
| 2348 | + | |
| 2349 | + | |
| 2350 | + | |
| 2351 | + | |
| 2352 | + | |
| 2353 | + | |
| 2354 | + | |
| 2355 | + | |
| 2356 | + | |
| 2357 | + | |
| 2358 | + | |
| 2359 | + | |
| 2360 | + | |
| 2361 | + | |
| 2362 | + | |
| 2363 | + | |
| 2364 | + | |
| 2365 | + | |
| 2366 | + | |
| 2367 | + | |
| 2368 | + | |
| 2369 | + | |
| 2370 | + | |
| 2371 | + | |
| 2372 | + | |
| 2373 | + | |
| 2374 | + | |
| 2375 | + | |
| 2376 | + | |
| 2377 | + | |
| 2378 | + | |
| 2379 | + | |
| 2380 | + | |
| 2381 | + | |
| 2382 | + | |
| 2383 | + | |
| 2384 | + | |
| 2385 | + | |
| 2386 | + | |
| 2387 | + | |
| 2388 | + | |
| 2389 | + | |
| 2390 | + | |
2329 | 2391 | | |
2330 | 2392 | | |
2331 | 2393 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
123 | 127 | | |
124 | 128 | | |
125 | 129 | | |
| |||
132 | 136 | | |
133 | 137 | | |
134 | 138 | | |
| 139 | + | |
135 | 140 | | |
136 | 141 | | |
137 | 142 | | |
| |||
839 | 844 | | |
840 | 845 | | |
841 | 846 | | |
| 847 | + | |
842 | 848 | | |
843 | 849 | | |
844 | 850 | | |
| |||
849 | 855 | | |
850 | 856 | | |
851 | 857 | | |
| 858 | + | |
852 | 859 | | |
853 | 860 | | |
854 | 861 | | |
| |||
858 | 865 | | |
859 | 866 | | |
860 | 867 | | |
| 868 | + | |
861 | 869 | | |
862 | 870 | | |
863 | 871 | | |
| |||
1543 | 1551 | | |
1544 | 1552 | | |
1545 | 1553 | | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
1546 | 1575 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1507 | 1507 | | |
1508 | 1508 | | |
1509 | 1509 | | |
| 1510 | + | |
| 1511 | + | |
| 1512 | + | |
| 1513 | + | |
| 1514 | + | |
| 1515 | + | |
1510 | 1516 | | |
1511 | 1517 | | |
1512 | 1518 | | |
| |||
1556 | 1562 | | |
1557 | 1563 | | |
1558 | 1564 | | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
| 1575 | + | |
| 1576 | + | |
| 1577 | + | |
| 1578 | + | |
| 1579 | + | |
| 1580 | + | |
1559 | 1581 | | |
1560 | 1582 | | |
1561 | 1583 | | |
1562 | 1584 | | |
1563 | 1585 | | |
1564 | 1586 | | |
| 1587 | + | |
| 1588 | + | |
| 1589 | + | |
| 1590 | + | |
| 1591 | + | |
| 1592 | + | |
1565 | 1593 | | |
1566 | 1594 | | |
1567 | 1595 | | |
| |||
1642 | 1670 | | |
1643 | 1671 | | |
1644 | 1672 | | |
| 1673 | + | |
| 1674 | + | |
| 1675 | + | |
| 1676 | + | |
| 1677 | + | |
| 1678 | + | |
1645 | 1679 | | |
1646 | 1680 | | |
1647 | 1681 | | |
| |||
2440 | 2474 | | |
2441 | 2475 | | |
2442 | 2476 | | |
2443 | | - | |
| 2477 | + | |
2444 | 2478 | | |
2445 | 2479 | | |
2446 | 2480 | | |
| |||
0 commit comments