Message ID | 8b3d5afe83ee6d1d35f57914a9b0cfa4b5bb4361.1623651783.git.riteshh@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | 64K blocksize related fixes | expand |
On Mon, Jun 14, 2021 at 11:58:11AM +0530, Ritesh Harjani wrote: > ext4 with 64k blocksize fails with below error for this given test which > requires dmhugedisk. Also since dax is not supported for this test, so > make sure to remove -b option, if set by config file for ext4 FSTYP for > the test to then use 4K blocksize by default. > > mkfs.ext4: Input/output error while writing out and closing file system > > Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com> Looking at this test, I'm not convinced it actually does the right thing when the block size is 64k, since the whole point is to test what happens when the block number > INT_MAX. So we should be able to fix the block size to be 1k, which would allow us to use a smaller dmhugedisk, and then skip this test if dax is enabled. OTOH, generic/620 runs pretty quicky, so perhaps it's better to do thie quick fix: hardcode the block size to 4k, and then skip it if dax && page_size != 4k. - Ted
On 21/06/30 01:07PM, Theodore Ts'o wrote: > On Mon, Jun 14, 2021 at 11:58:11AM +0530, Ritesh Harjani wrote: > > ext4 with 64k blocksize fails with below error for this given test which > > requires dmhugedisk. Also since dax is not supported for this test, so > > make sure to remove -b option, if set by config file for ext4 FSTYP for > > the test to then use 4K blocksize by default. > > > > mkfs.ext4: Input/output error while writing out and closing file system > > > > Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com> > > Looking at this test, I'm not convinced it actually does the right > thing when the block size is 64k, since the whole point is to test > what happens when the block number > INT_MAX. So we should be able to > fix the block size to be 1k, which would allow us to use a smaller > dmhugedisk, and then skip this test if dax is enabled. > > OTOH, generic/620 runs pretty quicky, so perhaps it's better to do > thie quick fix: hardcode the block size to 4k, and then skip it if dax > && page_size != 4k. Ok, so it is time to implement _mkfs_dev_blocksized() something like how we have for _scratch_mkfs_blocksized(). This is since we can have different way of passing blocksize parameter for mkfs prog for different filesystems. -ritesh
diff --git a/tests/generic/620 b/tests/generic/620 index 60559441..3ccda5e4 100755 --- a/tests/generic/620 +++ b/tests/generic/620 @@ -50,6 +50,13 @@ _require_dmhugedisk sectors=$((2*1024*1024*1024*17)) chunk_size=128 +# ext4 with 64k blocksize fails to mkfs with below error. +# So remove -b option, if set by config file. +# mkfs.ext4: Input/output error while writing out and closing file system +if [[ $FSTYP = "ext4" ]]; then + MKFS_OPTIONS=$(echo $MKFS_OPTIONS | sed -rn 's/(.*)(-b ?+[0-9]+)(.*)/\1 \3/p') +fi + _dmhugedisk_init $sectors $chunk_size _mkfs_dev $DMHUGEDISK_DEV _mount $DMHUGEDISK_DEV $SCRATCH_MNT || _fail "mount failed for $DMHUGEDISK_DEV $SCRATCH_MNT"
ext4 with 64k blocksize fails with below error for this given test which requires dmhugedisk. Also since dax is not supported for this test, so make sure to remove -b option, if set by config file for ext4 FSTYP for the test to then use 4K blocksize by default. mkfs.ext4: Input/output error while writing out and closing file system Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com> --- tests/generic/620 | 7 +++++++ 1 file changed, 7 insertions(+)