|
Revision tags: v6.15, v6.15-rc7, v6.15-rc6, v6.15-rc5, v6.15-rc4, v6.15-rc3, v6.15-rc2, v6.15-rc1, v6.14, v6.14-rc7, v6.14-rc6, v6.14-rc5, v6.14-rc4, v6.14-rc3, v6.14-rc2, v6.14-rc1, v6.13, v6.13-rc7, v6.13-rc6, v6.13-rc5, v6.13-rc4, v6.13-rc3, v6.13-rc2, v6.13-rc1, v6.12, v6.12-rc7, v6.12-rc6, v6.12-rc5, v6.12-rc4, v6.12-rc3, v6.12-rc2, v6.12-rc1, v6.11, v6.11-rc7, v6.11-rc6, v6.11-rc5, v6.11-rc4, v6.11-rc3, v6.11-rc2, v6.11-rc1, v6.10, v6.10-rc7, v6.10-rc6, v6.10-rc5, v6.10-rc4, v6.10-rc3, v6.10-rc2 |
|
| #
759bb4ea |
| 28-May-2024 |
Kent Overstreet <[email protected]> |
bcachefs: Split out sb-errors_format.h
Signed-off-by: Kent Overstreet <[email protected]>
|
|
Revision tags: v6.10-rc1 |
|
| #
765b8cb8 |
| 20-May-2024 |
Kent Overstreet <[email protected]> |
bcachefs: Check for subvolues with bogus snapshot/inode fields
This fixes an assertion pop in btree_iter.c that checks for forgetting to pass a snapshot ID when iterating over snapshots btrees.
Rep
bcachefs: Check for subvolues with bogus snapshot/inode fields
This fixes an assertion pop in btree_iter.c that checks for forgetting to pass a snapshot ID when iterating over snapshots btrees.
Reported-by: [email protected] Signed-off-by: Kent Overstreet <[email protected]>
show more ...
|
|
Revision tags: v6.9, v6.9-rc7, v6.9-rc6, v6.9-rc5 |
|
| #
9de40d77 |
| 16-Apr-2024 |
Kent Overstreet <[email protected]> |
bcachefs: Check for writing btree_ptr_v2.sectors_written == 0
Signed-off-by: Kent Overstreet <[email protected]>
|
| #
fcdbc1d7 |
| 17-Apr-2024 |
Kent Overstreet <[email protected]> |
bcachefs: Check for journal entries overruning end of sb clean section
Fix a missing bounds check in superblock validation.
Note that we don't yet have repair code for this case - repair code for i
bcachefs: Check for journal entries overruning end of sb clean section
Fix a missing bounds check in superblock validation.
Note that we don't yet have repair code for this case - repair code for individual items is generally low priority, since the whole superblock is checksummed, validated prior to write, and we have backups.
Reported-by: lei lu <[email protected]> Signed-off-by: Kent Overstreet <[email protected]>
show more ...
|
|
Revision tags: v6.9-rc4 |
|
| #
f0a73d4f |
| 14-Apr-2024 |
Kent Overstreet <[email protected]> |
bcachefs: Check for backpointer bucket_offset >= bucket size
Signed-off-by: Kent Overstreet <[email protected]>
|
| #
27c15ed2 |
| 12-Apr-2024 |
Kent Overstreet <[email protected]> |
bcachefs: bch_member.btree_allocated_bitmap
This adds a small (64 bit) per-device bitmap that tracks ranges that have btree nodes, for accelerating btree node scan if it is ever needed.
- New helpe
bcachefs: bch_member.btree_allocated_bitmap
This adds a small (64 bit) per-device bitmap that tracks ranges that have btree nodes, for accelerating btree node scan if it is ever needed.
- New helpers, bch2_dev_btree_bitmap_marked() and bch2_dev_bitmap_mark(), for checking and updating the bitmap
- Interior btree update path updates the bitmaps when required
- The check_allocations pass has a new fsck_err check, btree_bitmap_not_marked
- New on disk format version, mi_btree_mitmap, which indicates the new bitmap is present
- Upgrade table lists the required recovery pass and expected fsck error
- Btree node scan uses the bitmap to skip ranges if we're on the new version
Signed-off-by: Kent Overstreet <[email protected]>
show more ...
|
|
Revision tags: v6.9-rc3, v6.9-rc2 |
|
| #
4c02e63d |
| 30-Mar-2024 |
Kent Overstreet <[email protected]> |
bcachefs: Check for extents that point to same space
In backpointer repair, if we get a missing backpointer - but there's already a backpointer that points to an existing extent - we've got multiple
bcachefs: Check for extents that point to same space
In backpointer repair, if we get a missing backpointer - but there's already a backpointer that points to an existing extent - we've got multiple extents that point to the same space and need to decide which to keep.
Signed-off-by: Kent Overstreet <[email protected]>
show more ...
|
| #
a292be3b |
| 28-Mar-2024 |
Kent Overstreet <[email protected]> |
bcachefs: Reconstruct missing snapshot nodes
When the snapshots btree is going, we'll have to delete huge amounts of data - unless we can reconstruct it by looking at the keys that refer to it.
Sig
bcachefs: Reconstruct missing snapshot nodes
When the snapshots btree is going, we'll have to delete huge amounts of data - unless we can reconstruct it by looking at the keys that refer to it.
Signed-off-by: Kent Overstreet <[email protected]>
show more ...
|
|
Revision tags: v6.9-rc1 |
|
| #
43f5ea46 |
| 17-Mar-2024 |
Kent Overstreet <[email protected]> |
bcachefs: Topology repair now uses nodes found by scanning to fill holes
With the new btree node scan code, we can now recover from corrupt btree roots - simply create a new fake root at depth 1, an
bcachefs: Topology repair now uses nodes found by scanning to fill holes
With the new btree node scan code, we can now recover from corrupt btree roots - simply create a new fake root at depth 1, and then insert all the leaves we found.
If the root wasn't corrupt but there's corruption elsewhere in the btree, we can fill in holes as needed with the newest version of a given node(s) from the scan; we also check if a given btree node is older than what we found from the scan.
Signed-off-by: Kent Overstreet <[email protected]>
show more ...
|
| #
805b535a |
| 26-Mar-2024 |
Kent Overstreet <[email protected]> |
bcachefs: Check btree ptr min_key in .invalid
Signed-off-by: Kent Overstreet <[email protected]>
|
| #
79032b07 |
| 23-Mar-2024 |
Kent Overstreet <[email protected]> |
bcachefs: Improved topology repair checks
Consolidate bch2_gc_check_topology() and btree_node_interior_verify(), and replace them with an improved version, bch2_btree_node_check_topology().
This ch
bcachefs: Improved topology repair checks
Consolidate bch2_gc_check_topology() and btree_node_interior_verify(), and replace them with an improved version, bch2_btree_node_check_topology().
This checks that children of an interior node correctly span the full range of the parent node with no overlaps.
Also, ensure that topology repairs at runtime are always a fatal error; in particular, this adds a check in btree_iter_down() - if we don't find a key while walking down the btree that's indicative of a topology error and should be flagged as such, not a null ptr deref.
Some checks in btree_update_interior.c remaining BUG_ONS(), because we already checked the node for topology errors when starting the update, and the assertions indicate that we _just_ corrupted the btree node - i.e. the problem can't be that existing on disk corruption, they indicate an actual algorithmic bug.
In the future, we'll be annotating the fsck errors list with which recovery pass corrects them; the open coded "run explicit recovery pass or fatal error" in bch2_btree_node_check_topology() will in the future be done for every fsck_err() call.
Signed-off-by: Kent Overstreet <[email protected]>
show more ...
|
|
Revision tags: v6.8, v6.8-rc7, v6.8-rc6, v6.8-rc5, v6.8-rc4 |
|
| #
f4e68c85 |
| 07-Feb-2024 |
Kent Overstreet <[email protected]> |
bcachefs: check inode->bi_parent_subvol against dirent
Signed-off-by: Kent Overstreet <[email protected]>
|
| #
94817db9 |
| 08-Mar-2024 |
Kent Overstreet <[email protected]> |
bcachefs: Correctly validate k->u64s in btree node read path
validate_bset_keys() never properly validated k->u64s; it checked if it was 0, but not if it was smaller than keys for the given packed f
bcachefs: Correctly validate k->u64s in btree node read path
validate_bset_keys() never properly validated k->u64s; it checked if it was 0, but not if it was smaller than keys for the given packed format; this fixes that small oversight.
This patch was backported, so it's adding quite a few error enums so that they don't get renumbered and we don't have confusing gaps.
Signed-off-by: Kent Overstreet <[email protected]>
show more ...
|
|
Revision tags: v6.8-rc3, v6.8-rc2, v6.8-rc1, v6.7 |
|
| #
074cbcda |
| 04-Jan-2024 |
Kent Overstreet <[email protected]> |
bcachefs: fsck_err()s don't need to manually check c->sb.version anymore
Signed-off-by: Kent Overstreet <[email protected]>
|
|
Revision tags: v6.7-rc8, v6.7-rc7, v6.7-rc6, v6.7-rc5, v6.7-rc4, v6.7-rc3, v6.7-rc2 |
|
| #
359d1bad |
| 16-Nov-2023 |
Kent Overstreet <[email protected]> |
bcachefs: Check for unlinked inodes not on deleted list
Signed-off-by: Kent Overstreet <[email protected]>
|
| #
6b49b0f7 |
| 31-Dec-2023 |
Kent Overstreet <[email protected]> |
bcachefs: move BCH_SB_ERRS() to sb-errors_types.h
we need BCH_SB_ERR_MAX in bcachefs.h
Signed-off-by: Kent Overstreet <[email protected]>
|
|
Revision tags: v6.7-rc1, v6.6 |
|
| #
f5d26fa3 |
| 25-Oct-2023 |
Kent Overstreet <[email protected]> |
bcachefs: bch_sb_field_errors
Add a new superblock section to keep counts of errors seen since filesystem creation: we'll be addingcounters for every distinct fsck error.
The new superblock section
bcachefs: bch_sb_field_errors
Add a new superblock section to keep counts of errors seen since filesystem creation: we'll be addingcounters for every distinct fsck error.
The new superblock section has entries of the for [ id, count, time_of_last_error ]; this is intended to let us see what errors are occuring - and getting fixed - via show-super output.
Signed-off-by: Kent Overstreet <[email protected]>
show more ...
|