From 1bba876107416ff86c99ad5116be4fd5bc288b0c Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Nov 05 2019 20:22:23 +0000 Subject: import gfs2-utils-3.2.0-5.el8 --- diff --git a/SOURCES/bz1698858-mkfs_gfs2_Improve_alignment_of_first_resource_group.patch b/SOURCES/bz1698858-mkfs_gfs2_Improve_alignment_of_first_resource_group.patch new file mode 100644 index 0000000..3669d4d --- /dev/null +++ b/SOURCES/bz1698858-mkfs_gfs2_Improve_alignment_of_first_resource_group.patch @@ -0,0 +1,47 @@ +commit 12a82c8661b003736a0cb14fe042605f2412c329 +Author: Andrew Price +Date: Thu Apr 25 11:21:22 2019 +0100 + + mkfs.gfs2: Improve alignment of first resource group + + Currently the first rgrp is aligned to the whole stripe width and the + second rgrp is aligned to (stripe width + 1 stripe unit) and so on, to + spread them across an array. However, that means that there could be a + large amount of space wasted between the superblock and the first + resource group, and can result in the iovec used to zero that space + exceeding IOV_MAX and failing mkfs.gfs2 (since 6cefaf33d5) if the array + has a sufficiently large number of LUNs. Instead, align the first + resource group to a stripe unit so that the gap is minimised. Resource + groups are still spread across the array as the alignment of subsequent + ones are handled separately. + + Resolves: rhbz#1698858 + + Signed-off-by: Andrew Price + +diff --git a/gfs2/libgfs2/rgrp.c b/gfs2/libgfs2/rgrp.c +index 3cdaccae..20ce5807 100644 +--- a/gfs2/libgfs2/rgrp.c ++++ b/gfs2/libgfs2/rgrp.c +@@ -332,7 +332,7 @@ static uint64_t align_block(const uint64_t base, const uint64_t align) + */ + uint64_t lgfs2_rgrp_align_addr(const lgfs2_rgrps_t rgs, uint64_t addr) + { +- return align_block(addr, rgs->align); ++ return align_block(addr, rgs->align_off); + } + + /** +diff --git a/tests/mkfs.at b/tests/mkfs.at +index 2739561f..57785a0d 100644 +--- a/tests/mkfs.at ++++ b/tests/mkfs.at +@@ -122,6 +122,8 @@ AT_KEYWORDS(mkfs.gfs2 mkfs) + AT_CHECK([$GFS_MKFS -p lock_nolock -o test_topology=0:512:65536:393216:512 $GFS_TGT], 0, [ignore], [ignore]) + # Check rgrp alignment to minimum_io_size: 65536 / 4096 == 16 + AT_CHECK([gfs2_edit -p rindex $GFS_TGT | grep ri_addr | awk '{print $2, $2 % 16; if ($2 % 16 != 0) { exit 1 }}'], 0, [ignore], [ignore]) ++# rhbz#1698858 ++AT_CHECK([$GFS_MKFS -p lock_nolock -o test_topology=0:512:131072:6291456:512 $GFS_TGT], 0, [ignore], [ignore]) + AT_CLEANUP + + AT_SETUP([Values of rg_skip]) diff --git a/SPECS/gfs2-utils.spec b/SPECS/gfs2-utils.spec index a505d0d..507a398 100644 --- a/SPECS/gfs2-utils.spec +++ b/SPECS/gfs2-utils.spec @@ -12,7 +12,7 @@ Name: gfs2-utils Version: 3.2.0 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2+ and LGPLv2+ Group: System Environment/Kernel Summary: Utilities for managing the global file system (GFS2) @@ -36,12 +36,14 @@ URL: https://pagure.io/gfs2-utils Patch0: bz1622050-1-fsck_gfs2_Don_t_check_fs_formats_we_don_t_recognise.patch Patch1: bz1622050-2-libgfs2_Fix_pointer_cast_byte_order_issue.patch Patch2: bz1659490-gfs2_utils_Wrong_hash_value_used_to_clean_journals.patch +Patch3: bz1698858-mkfs_gfs2_Improve_alignment_of_first_resource_group.patch %prep %setup -q -n gfs2-utils-%{version} %patch0 -p1 -b .bz1622050-1-fsck_gfs2_Don_t_check_fs_formats_we_don_t_recognise %patch1 -p1 -b .bz1622050-2-libgfs2_Fix_pointer_cast_byte_order_issue %patch2 -p1 -b .bz1659490-gfs2_utils_Wrong_hash_value_used_to_clean_journals +%patch3 -p1 -b .bz1698858-mkfs_gfs2_Improve_alignment_of_first_resource_group %build ./autogen.sh @@ -81,6 +83,10 @@ modifying, and correcting inconsistencies in GFS2 file systems. %{_prefix}/lib/udev/rules.d/82-gfs2-withdraw.rules %changelog +* Fri May 03 2019 Andrew Price - 3.2.0-5 +- mkfs.gfs2: Improve alignment of first resource group + Resolves: rhbz#1698858 + * Fri Dec 14 2018 Andrew Price - 3.2.0-4 - gfs2-utils: Wrong hash value used to clean journals Resolves: rhbz#1659490