Bug 2170017

Summary: Rebase gfs2-utils to 3.5.1 in RHEL 9.3
Product: Red Hat Enterprise Linux 9 Reporter: Andrew Price <anprice>
Component: gfs2-utilsAssignee: GFS2 Maintainers <gfs2-maint>
Status: VERIFIED --- QA Contact: cluster-qe <cluster-qe>
Severity: low Docs Contact: Steven J. Levine <slevine>
Priority: medium    
Version: 9.3CC: cluster-maint, gfs2-maint, slevine
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: gfs2-utils-3.5.1-1.el9 Doc Type: Enhancement
Doc Text:
.Improvements to GFS2 file system configuration and operation The following updates have been implemented for GFS2 file systems: * The `mkfs.gfs2 command now supports the new `-U` option, which makes it possible to specify the file system UUID for the file system you create. If you omit this option, the file system's UUID is generated randomly. * The `gfs2_jadd` command creates journals at a much faster speed than in previous releases. * The GFS2 man pages have been improved.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Andrew Price 2023-02-15 11:58:47 UTC
gfs2-utils 3.5.0 contains new command options useful in the gfs2 Ansible role and in testing new gfs2 changes, along with bug fixes and improvements that will be good to have in RHEL 9. It also brings the RHEL package closer to upstream so that we can more easily backport important changes.

Announcement email: https://listman.redhat.com/archives/cluster-devel/2023-February/023484.html

Diffstat from 3.4.1 (266 commits):

$ git diff --stat 3.4.1..3.5.0
 .gitignore                          |    2 +
 README.md                           |    3 -
 configure.ac                        |   64 +-
 doc/COPYRIGHT                       |    2 +-
 doc/README.contributing             |    2 +-
 gfs2/convert/Makefile.am            |    1 +
 gfs2/convert/gfs2_convert.c         | 1131 ++++++------
 gfs2/edit/Makefile.am               |    2 +
 gfs2/edit/extended.c                |  259 ++-
 gfs2/edit/gfs2hex.c                 |  483 ++----
 gfs2/edit/gfs2hex.h                 |    5 +-
 gfs2/edit/hexedit.c                 |  712 ++++----
 gfs2/edit/hexedit.h                 |   67 +-
 gfs2/edit/journal.c                 |  333 ++--
 gfs2/edit/journal.h                 |    2 +-
 gfs2/edit/savemeta.c                |  399 ++---
 gfs2/edit/struct_print.c            |  364 ++++
 gfs2/edit/struct_print.h            |   23 +
 gfs2/fsck/FEATURES                  |    2 +-
 gfs2/fsck/Makefile.am               |    2 +
 gfs2/fsck/afterpass1_common.c       |  143 +-
 gfs2/fsck/afterpass1_common.h       |   31 +-
 gfs2/{libgfs2 => fsck}/block_list.c |   21 +-
 gfs2/fsck/fs_recovery.c             |  490 +++---
 gfs2/fsck/fs_recovery.h             |   10 +-
 gfs2/fsck/fsck.h                    |  137 +-
 gfs2/fsck/initialize.c              | 1207 ++++++-------
 gfs2/fsck/inode_hash.c              |   24 +-
 gfs2/fsck/inode_hash.h              |    8 +-
 gfs2/fsck/link.c                    |  134 +-
 gfs2/fsck/link.h                    |   23 +-
 gfs2/fsck/lost_n_found.c            |  194 +--
 gfs2/fsck/lost_n_found.h            |    4 +-
 gfs2/fsck/main.c                    |  191 +-
 gfs2/fsck/metawalk.c                | 1028 ++++++-----
 gfs2/fsck/metawalk.h                |   98 +-
 gfs2/fsck/pass1.c                   | 1456 +++++++---------
 gfs2/fsck/pass1b.c                  |  557 +++---
 gfs2/fsck/pass2.c                   | 1326 +++++++-------
 gfs2/fsck/pass3.c                   |  185 +-
 gfs2/fsck/pass4.c                   |  164 +-
 gfs2/fsck/pass5.c                   |  151 +-
 gfs2/fsck/rgrepair.c                |  780 ++++-----
 gfs2/fsck/util.c                    |  202 +--
 gfs2/fsck/util.h                    |   49 +-
 gfs2/glocktop/glocktop.c            |  127 +-
 gfs2/include/Makefile.am            |    3 +-
 gfs2/include/linux/gfs2_ondisk.h    |  542 ++++++
 gfs2/include/linux/types.h          |   27 +
 gfs2/include/linux_endian.h         |   68 -
 gfs2/include/osi_tree.h             |    1 +
 gfs2/libgfs2/Makefile.am            |    4 -
 gfs2/libgfs2/buf.c                  |   75 +-
 gfs2/libgfs2/check_fs_ops.c         |  234 +++
 gfs2/libgfs2/check_libgfs2.c        |    7 +-
 gfs2/libgfs2/check_meta.c           |   57 +-
 gfs2/libgfs2/check_ondisk.c         |  155 ++
 gfs2/libgfs2/check_rgrp.c           |   45 +-
 gfs2/libgfs2/checks.am              |    7 +-
 gfs2/libgfs2/config.c               |    9 -
 gfs2/libgfs2/config.h               |    6 -
 gfs2/libgfs2/device_geometry.c      |   29 +-
 gfs2/libgfs2/fs_bits.c              |   69 +-
 gfs2/libgfs2/fs_geometry.c          |   87 -
 gfs2/libgfs2/fs_ops.c               | 1336 +++++++-------
 gfs2/libgfs2/gfs1.c                 |  323 ++--
 gfs2/libgfs2/gfs2_disk_hash.c       |    5 +-
 gfs2/libgfs2/gfs2l.c                |   44 +-
 gfs2/libgfs2/lang.c                 |   92 +-
 gfs2/libgfs2/lang.h                 |    2 +-
 gfs2/libgfs2/libgfs2.h              |  636 +++----
 gfs2/libgfs2/meta.c                 |  122 +-
 gfs2/libgfs2/misc.c                 |   44 +-
 gfs2/libgfs2/ondisk.c               |  870 +++-------
 gfs2/libgfs2/parser.y               |    1 +
 gfs2/libgfs2/recovery.c             |   87 +-
 gfs2/libgfs2/rgrp.c                 |  425 ++---
 gfs2/libgfs2/rgrp.h                 |   16 +-
 gfs2/libgfs2/structures.c           |  611 +++----
 gfs2/libgfs2/super.c                |  283 +--
 gfs2/man/gfs2_grow.8                |   53 +-
 gfs2/man/gfs2_jadd.8                |   50 +-
 gfs2/man/mkfs.gfs2.8                |    6 +
 gfs2/mkfs/Makefile.am               |    5 +
 gfs2/mkfs/gfs2_mkfs.h               |   46 +-
 gfs2/mkfs/main_grow.c               |   71 +-
 gfs2/mkfs/main_jadd.c               |  183 +-
 gfs2/mkfs/main_mkfs.c               |  427 +++--
 gfs2/mkfs/struct_print.c            |  218 +++
 gfs2/mkfs/struct_print.h            |   19 +
 gfs2/tune/Makefile.am               |    1 +
 gfs2/tune/main.c                    |   17 +-
 gfs2/tune/super.c                   |   28 +-
 make/copyright.cf                   |    2 +-
 po/gfs2-utils.pot                   | 3257 ++++++++++++++++++-----------------
 tests/Makefile.am                   |    3 +-
 tests/atlocal.in                    |   13 +-
 tests/edit.at                       |    4 +-
 tests/fsck.at                       |   28 +-
 tests/mkfs.at                       |   32 +
 tests/nukerg.c                      |   47 +-
 tests/testsuite.at                  |    5 +-
 tests/tune.at                       |   32 +
 103 files changed, 11780 insertions(+), 11687 deletions(-)

Comment 2 Andrew Price 2023-03-07 12:58:07 UTC
We can disable LTO with "%global _lto_cflags %nil" in the spec file and it shouldn't introduce any problems so I'm removing bug 2173624 as a blocker. That should give us plenty of time to test gfs2-utils throughout the 9.3 cycle. We can open a new bug to re-enable LTO and have that depend on the gcc bug.

Comment 7 Andrew Price 2023-04-11 17:28:14 UTC
3.5.1 was released to fix a few issues so that version will now be the target and will allow LTO to be enabled to address bug 2176126

Comment 11 Andrew Price 2023-04-12 08:55:59 UTC
New build for 3.5.1 is currently blocked by known OSCI issues https://issues.redhat.com/browse/OAMG-8820

Comment 12 Andrew Price 2023-04-12 09:20:03 UTC
Test was waived on advice in #osci and the build was automatically added to the advisory.

Comment 14 Andrew Price 2023-04-12 09:31:18 UTC
*** Bug 2176126 has been marked as a duplicate of this bug. ***