This is an automated email from the git hooks/post-receive script.
andyp pushed a commit to branch RHEL8 in repository gfs2-utils.
commit a6e19b410ef13c4a8472ba356360dff07c019664 Author: Andrew Price anprice@redhat.com AuthorDate: Wed May 27 12:31:58 2020 +0100
mkfs.gfs2: Don't use i/o limits hints <4K for block size
Some devices report an optimal_io_size less than 4K. Currently mkfs.gfs2 uses the non-zero value to choose the block size, which is almost certainly a bad choice when it's less than 4K. Update choose_blocksize() to avoid using device topology hints for the block size choice when they're less than the default block size (4K). Test case included.
Resolves: rhbz#1839219 Signed-off-by: Andrew Price anprice@redhat.com --- gfs2/mkfs/main_mkfs.c | 2 +- tests/mkfs.at | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/gfs2/mkfs/main_mkfs.c b/gfs2/mkfs/main_mkfs.c index 846b341f..412d4701 100644 --- a/gfs2/mkfs/main_mkfs.c +++ b/gfs2/mkfs/main_mkfs.c @@ -505,7 +505,7 @@ static unsigned choose_blocksize(struct mkfs_opts *opts) } if (!opts->got_bsize && got_topol) { if (dev->optimal_io_size <= getpagesize() && - dev->optimal_io_size >= dev->minimum_io_size) + dev->optimal_io_size >= GFS2_DEFAULT_BSIZE) bsize = dev->optimal_io_size; else if (dev->physical_sector_size <= getpagesize() && dev->physical_sector_size >= GFS2_DEFAULT_BSIZE) diff --git a/tests/mkfs.at b/tests/mkfs.at index 3e3fb82b..42205679 100644 --- a/tests/mkfs.at +++ b/tests/mkfs.at @@ -112,6 +112,8 @@ AT_CLEANUP AT_SETUP([Device i/o limits handling]) AT_KEYWORDS(mkfs.gfs2 mkfs) AT_CHECK([$GFS_MKFS -p lock_nolock -o test_topology=0:0:0:0:0 $GFS_TGT], 0, [ignore], [ignore]) +AT_CHECK([$GFS_MKFS -p lock_nolock -o test_topology=0:512:512:512:512 $GFS_TGT], 0, [ignore], [ignore]) +AT_CHECK([gfs2_edit -p sb field sb_bsize $GFS_TGT | tr -d '\n' ], 0, [4096], [ignore]) AT_CHECK([$GFS_MKFS -p lock_nolock -o test_topology=7168:512:0:33553920:512 $GFS_TGT], 0, [ignore], [ignore]) AT_CHECK([$GFS_MKFS -p lock_nolock -o test_topology=7168:512:8192:33553920:512 $GFS_TGT], 0, [ignore], [Warning: device is not properly aligned. This may harm performance. ])
cluster-commits@lists.stg.fedorahosted.org