On 26.09.19 16:47, Carlos Maiolino wrote: > On Thu, Sep 26, 2019 at 04:22:38PM +0200, Max Reitz wrote: >> To ensure that all blocks touched by the range [offset, offset + count) >> are allocated, we need to calculate the block count from the difference >> of the range end (rounded up) and the range start (rounded down). >> >> Before this patch, we just round up the byte count, which may lead to >> unaligned ranges not being fully allocated: >> >> $ touch test_file >> $ block_size=$(stat -fc '%S' test_file) >> $ fallocate -o $((block_size / 2)) -l $block_size test_file >> $ xfs_bmap test_file >> test_file: >> 0: [0..7]: 1396264..1396271 >> 1: [8..15]: hole >> >> There should not be a hole there. Instead, the first two blocks should >> be fully allocated. >> >> With this patch applied, the result is something like this: >> >> $ touch test_file >> $ block_size=$(stat -fc '%S' test_file) >> $ fallocate -o $((block_size / 2)) -l $block_size test_file >> $ xfs_bmap test_file >> test_file: >> 0: [0..15]: 11024..11039 >> >> Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx> > > For the patch: > > Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx> > > > +1 for a test in xfstests > > > P.S. > > You usually don't need to Cc: LKML for xfs-only patches, linux-xfs is enough. OK, thanks. I wasn’t sure because get_maintainer.pl just emits it by default. Max
Attachment:
signature.asc
Description: OpenPGP digital signature