Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 05522109 authored by Omar Sandoval's avatar Omar Sandoval Committed by David Sterba
Browse files

Btrfs: don't BUG_ON() in btrfs_truncate_inode_items()



btrfs_free_extent() can fail because of ENOMEM. There's no reason to
panic here, we can just abort the transaction.

Fixes: f4b9aa8d ("btrfs_truncate")
Reviewed-by: default avatarNikolay Borisov <nborisov@suse.com>
Signed-off-by: default avatarOmar Sandoval <osandov@fb.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent fd86a3a3
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -4918,7 +4918,10 @@ int btrfs_truncate_inode_items(struct btrfs_trans_handle *trans,
						extent_num_bytes, 0,
						btrfs_header_owner(leaf),
						ino, extent_offset);
			BUG_ON(ret);
			if (ret) {
				btrfs_abort_transaction(trans, ret);
				break;
			}
			if (btrfs_should_throttle_delayed_refs(trans, fs_info))
				btrfs_async_run_delayed_refs(fs_info,
					trans->delayed_ref_updates * 2,