On Tue, Dec 25, 2018 at 04:10:25PM -0800, Liu Bo wrote: > > I had a patch[1] to address the problem but with adding reservation > only when we need to (in ext4_ext_try_to_merge_up). Sorry, I had forgotten that you had that patch pending. I believe that merging up isn't the only case we need to worry about, though. For example, if we write into the middle of a larger unwritten region, we might havec to change a single region into three regions, which might require a node split --- and in that case, it's not optional, as would be in the try_to_merge_up situation. If we don't have enough credits to do a node split our only choices would be mark the file system as corrupted, or to fail the write with ENOSPC (which would be very confusing to the user/application). Cheers, - Ted