v1->v2: - dropped "btrfs: global reserve fallback should use metadata_size", turns out I was testing without my evict changes in place so we don't even need this in the first place, but it is also wrong because we need to reserve space for the orphan item which is an insert. - Added the reviewed-by's. -- Original email -- We have two worst case calculations for space reservation, one that takes into account splitting at every level when cow'ing down the btree, and another that doesn't account for splitting at all. The first is used everywhere, and the second is used mostly for truncate. However we also do not split when we're only changing an item, so for example updating the inode item. So the name for this helper is wrong, because it can be used for in-place updates as well as for truncates. Rename the helpers and then use the smaller worst-case reservation for inode updates in a few places. As a rule we still want to use the insert calculation when we can't be sure what kind of operation is going to end up happening. But for things like delayed inode updates and file writes where we know there is going to be an existing inode item we can use the smaller reservation. Thanks, Josef
