Re: [PATCH] ext4: disable dioread_nolock whenever delayed allocation is disabled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 19, 2020 at 11:00:28AM -0400, Eric Whitney wrote:
> The patch "ext4: make dioread_nolock the default" (244adf6426ee) causes
> generic/422 to fail when run in kvm-xfstests' ext3conv test case.  This
> applies both the dioread_nolock and nodelalloc mount options, a
> combination not previously tested by kvm-xfstests.  The failure occurs
> because the dioread_nolock code path splits a previously fallocated
> multiblock extent into a series of single block extents when overwriting
> a portion of that extent.  That causes allocation of an extent tree leaf
> node and a reshuffling of extents.  Once writeback is completed, the
> individual extents are recombined into a single extent, the extent is
> moved again, and the leaf node is deleted.  The difference in block
> utilization before and after writeback due to the leaf node triggers the
> failure.
> 
> The original reason for this behavior was to avoid ENOSPC when handling
> I/O completions during writeback in the dioread_nolock code paths when
> delayed allocation is disabled.  It may no longer be necessary, because
> code was added in the past to reserve extra space to solve this problem
> when delayed allocation is enabled, and this code may also apply when
> delayed allocation is disabled.  Until this can be verified, don't use
> the dioread_nolock code paths if delayed allocation is disabled.
> 
> Signed-off-by: Eric Whitney <enwlinux@xxxxxxxxx>

Applied, thanks.

						- Ted



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux