Skip to content

btrfs: Error Handling Patchset

Jeff Mahoney linux-btrfs 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest34 of 35 patches 7 repliesIn review

34 of 35 patches are in this archive. The cover letter announces 35.

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/35btrfs: Add btrfs_panic()fs/btrfs/ctree.h fs/btrfs/super.c+60 -10 replies
2/35btrfs: Catch locking failures in {set,clear,convert}_extent_bitfs/btrfs/extent_io.c+38 -200 replies
3/35btrfs: Panic on bad rbtree operationsfs/btrfs/ordered-data.c fs/btrfs/relocation.c+39 -90 replies
4/35btrfs: Fix kfree of member instead of structurefs/btrfs/delayed-ref.c+3 -30 replies
5/35btrfs: Simplify btrfs_insert_rootfs/btrfs/root-tree.c+3 -60 replies
6/35btrfs: clean_tree_block should panic on observed memory corruption and return voidfs/btrfs/disk-io.c fs/btrfs/disk-io.h+12 -70 replies
7/35btrfs: avoid NULL deref in btrfs_reserve_extent with DEBUG_ENOSPCfs/btrfs/extent-tree.c+2 -10 replies
8/35btrfs: Remove set bits return from clear_extent_bitfs/btrfs/extent_io.c+5 -72 replies
9/35btrfs: find_and_setup_root error push-upfs/btrfs/disk-io.c+6 -50 replies
10/35btrfs: btrfs_update_root error push-upfs/btrfs/ctree.h fs/btrfs/root-tree.c+7 -40 replies
11/35btrfs: Simplify btrfs_submit_bio_hookfs/btrfs/inode.c+4 -30 replies
12/35btrfs: Factor out tree->ops->merge_bio_hook callfs/btrfs/extent_io.c fs/btrfs/inode.c+17 -50 replies
13/35btrfs: ->submit_bio_hook error push-upfs/btrfs/disk-io.c fs/btrfs/extent_io.c fs/btrfs/inode.c+31 -150 replies
14/35btrfs: __add_reloc_root error push-upfs/btrfs/relocation.c+16 -60 replies
15/35btrfs: return void in functions without error conditionsfs/btrfs/async-thread.c fs/btrfs/async-thread.h fs/btrfs/compression.c +26 more+293 -4100 replies
16/35btrfs: drop gfp_t from lock_extentfs/btrfs/compression.c fs/btrfs/disk-io.c fs/btrfs/extent_io.c +6 more+63 -760 replies
17/35btrfs: split extent_state opsfs/btrfs/extent_io.c fs/btrfs/extent_io.h fs/btrfs/inode.c+25 -152 replies
18/35btrfs: btrfs_drop_snapshot should return intfs/btrfs/ctree.h fs/btrfs/extent-tree.c fs/btrfs/relocation.c +1 more+12 -80 replies
19/35btrfs: Dont BUG_ON errors from btrfs_create_subvol_root()fs/btrfs/inode.c fs/btrfs/ioctl.c+6 -20 replies
20/35btrfs: Dont BUG_ON() errors in update_ref_for_cow()fs/btrfs/ctree.c+7 -40 replies
21/35btrfs: Dont BUG_ON kzalloc error in btrfs_lookup_csums_range()fs/btrfs/file-item.c+13 -20 replies
22/35btrfs: Dont BUG_ON errors in __finish_chunk_alloc()fs/btrfs/volumes.c+6 -40 replies
23/35btrfs: Go readonly on bad extent refs in update_ref_for_cow()fs/btrfs/ctree.c+5 -10 replies
24/35btrfs: Dont BUG_ON errors from update_ref_for_cow()fs/btrfs/ctree.c+4 -10 replies
25/35btrfs: Go readonly on tree errors in balance_levelfs/btrfs/ctree.c+11 -20 replies
26/35btrfs: Dont BUG_ON insert errors in btrfs_alloc_dev_extent()fs/btrfs/volumes.c+3 -10 replies
27/35btrfs: Remove BUG_ON from __btrfs_alloc_chunk()fs/btrfs/volumes.c+2 -10 replies
28/35btrfs: Remove BUG_ON from __finish_chunk_alloc()fs/btrfs/volumes.c+3 -10 replies
29/35btrfs: add varargs to btrfs_errorfs/btrfs/ctree.h fs/btrfs/super.c+66 -90 replies
30/35btrfs: enhance transaction abort infrastructurefs/btrfs/ctree.h fs/btrfs/disk-io.c fs/btrfs/disk-io.h +5 more+300 -560 replies
32/35btrfs: Fix busyloop in transaction_kthread()fs/btrfs/disk-io.c+7 -20 replies
33/35btrfs: handle errors when excluding super extentsfs/btrfs/extent-tree.c fs/btrfs/volumes.c+33 -61 reply
34/35btrfs: enhance superblock sanity checksfs/btrfs/disk-io.c+18 -50 replies
35/35btrfs: disallow unequal data/metadata blocksize for mixed block groupsfs/btrfs/disk-io.c+8 -02 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [patch 00/35] btrfs: Error Handling Patchset

This is the error handling patchset for btrfs.

The series is comprised of several groups of patches:
- Adding new btrfs_panic and btrfs_error routines
- Adding the ability to abort transactions
- Converting functions that don't have error conditions to return void
- Eliminating the gfp_t argument to lock_ and unlock_extent, as they are always called with GFP_NOFS
- Pushing up errors to handle them and eliminate BUG_ON sites
- Several other bug fixes for issues we encountered during testing

I'd like to thank David Sterba for a putting a ton of effort into testing and review.

-Jeff