gfs2-utils 3.1.9 released
(too old to reply)
Andrew Price
2016-06-07 11:04:43 UTC
Hi all,

I am happy to announce the 3.1.9 release of gfs2-utils. This release
includes the following notable changes:

* fsck.gfs2 now uses less memory
* Improvements and fixes to fsck.gfs2's xattr and resource group checking
* mkfs.gfs2 reports progress so that you can tell it's still alive
during a long mkfs
* mkfs.gfs2's -t option now accepts a longer cluster name and fs name
* A udev helper script is now installed to suspend the device on
withdraw, preventing hangs
* Support for the de_rahead and de_cookie dirent fields has been added
* gfs2_edit savemeta performance improvements
* The glocktop utility has been added to help analyze locking-related
performance problems
* The mkfs.gfs2(8) man page has been overhauled
* The rgrplbv and loccookie mount options have been added to the
gfs2(5) man page
* Fixes for out-of-tree builds and testing
* Various other fixes, cleanups and enhancements

See below for a complete list of changes.

The source tarball is available from:


Please report bugs against the gfs2-utils component of Fedora rawhide:



Changes since version 3.1.8:

Abhi Das (2):
fsck.gfs2: replace recent i_goal fixes with simple logic
gfs2-utils: Fix hang on withdraw

Andreas Gruenbacher (4):
libgfs2: Add support for dirent.de_rahead
gfs2_edit: Include dirent.de_rahead in directory listings
gfs2: Fix printf format errors on x86
gfs2_edit: Add attribute printf for print_gfs2

Andrew Price (49):
scripts: rename gfs2_wd_udev.sh to gfs2_withdraw_helper
scripts: install the withdraw helper script
scripts: install the withdraw udev rules script
gfs2-utils: Add a check for the de_rahead field
gfs2_edit savemeta: speed up is_block_in_per_node()
fsck.gfs2: Really be quiet in quiet mode
fsck.gfs2: Improve read ahead in pass1_process_bitmap
libgfs2: Return the rgrp count in lgfs2_rgrps_plan()
mkfs.gfs2: Always validate the locktable option
gfs2-utils: Add the glocktop utility
gfs2_edit: Don't use the global block variable in block_is_a_journal
gfs2_edit: Don't use the global block variable in
gfs2_edit: Don't use the global block variable in block_is_jindex
gfs2_edit: Don't use the global block variable in block_is_inum_file
gfs2_edit: Don't use global block variable in block_is_statfs_file
gfs2_edit: Don't use global block variable in block_is_quota_file
gfs2_edit: Don't use global block variable in block_is_rindex
gfs2_edit: Don't use the global block variable in block_is_per_node
gfs2_edit: Don't use the global block variable in block_is_systemfile
gfs2_edit: Don't use the global block variable in block_is_rgtree
gfs2_edit: Don't use the global block variable in block_is_journals
gfs2_edit: Only declare the block variable where needed
gfs2_edit: Don't use the global block variable in save_block
gfs2_edit: Don't use the global block variable in
gfs2_edit: Don't use the global block variable in save_inode_data
gfs2_edit: Don't use the global block variable in get_gfs_struct_info
gfs2_edit: Don't use the global block variable in save_ea_block
gfs2_edit: Don't use the global block variable in save_allocated
gfs2_edit: Don't use the global block variable in savemeta
gfs2_edit: Don't use the global bh variable in display_block_type
gfs2_edit: Don't use the global block variable in savemeta.c
gfs2_edit: Don't export bh
gfs2_edit: Remove block_in_mem and fix a memory leak
libgfs2: Support the new dirent de_cookie field
mkfs.gfs2(8) man page improvements
glocktop: Fix a tight loop under nohup
libgfs2: New function lgfs2_rindex_read_one()
gfs2-utils tests: Add helper program to damage rgrps
gfs2-utils tests: Add fsck.gfs2 rgrp/rindex repair tests
mkfs.gfs2: Remove unnecessary externs from progress functions
gfs2_edit: Don't hijack bh->b_data in read_master_dir
mkfs.gfs2: Open the target device with O_EXCL
fsck.gfs2: Fix a potential memory leak in pass3
gfs2_edit savemeta: Fix use of uninitialized 'blk'
gfs2-utils/po: Update translation template
gfs2-utils: Don't build the testsuite script in srcdir
gfs2-utils tests: Provide 'installcheck' with the path to gfs2l
gfs2-utils tests: Remove the testsuite script in distclean
gfs2-utils/po: Update translation template

Benjamin Marzinski (1):
gfs2(5): add rgrplbv and loccookie info the the manpage

Bob Peterson (78):
fsck.gfs2: Change duptree structure to have generic flags
fsck.gfs2: Detect, fix and clone duplicate block refs within a dinode
libgfs2: Check block range when inserting into rgrp tree
libgfs2: Check rgd->bits before referencing it
fsck.gfs2: Add check for gfs1 invalid inode refs in dentry
fsck.gfs2: Make debug messages more succinct wrt extended attributes
fsck.gfs2: Break up funtion handle_dup_blk
fsck.gfs2: Only preserve the _first_ acceptable inode reference
fsck.gfs2: Don't just assume the remaining EA reference is good
fsck.gfs2: Don't delete inode for duplicate reference in EA
fsck.gfs2: Don't traverse EAs that belong to another inode
fsck.gfs2: Refactor function check_indirect_eattr
fsck.gfs2: Once an indirect ea error is found, flag all that follow
fsck.gfs2: Always restore saved value for di_eattr
fsck.gfs2: Remove redundancy in add_duplicate_ref
fsck.gfs2: Don't remove duplicate eattr blocks
fsck.gfs2: Refactor check_eattr_entries and add error messages
fsck.gfs2: remove bad EAs at the end, not as-you-go
fsck.gfs2: Combine remove_inode_eattr with its only caller
fsck.gfs2: Print debug message to dilineate metadata blocks
fsck.gfs2: Remove pass1c in favor of processing in pass1
fsck.gfs2: Clone duplicate data block pointers
gfs2_edit: Log descriptor continuation blocks print wrong info
libgfs2: Backport rbtree fixes from upstream
libgfs2: Check for obvious corruption reading rindex
libgfs2: Change rgrp counts to be uint64_t
gfs2_edit: Don't reference an empty rgrp tree
fsck.gfs2: Read jindex before making rindex repairs
fsck.gfs2: better reporting of false positive rgrp identification
fsck.gfs2: Minor reformatting
fsck.gfs2: Ditch variable rgcount_from_index
fsck.gfs2: Add ability to fix rindex file size
fsck.gfs2: Do not try to overrun the max rgrps that fit inside rindex
fsck.gfs2: Detect multiple rgrp grow segments
fsck.gfs2: Move pass5 to immediately follow pass1
fsck.gfs2: Convert block_type to bitmap_type after pass1 and 5
fsck.gfs2: Change bitmap_type variables to int
fsck.gfs2: Use di_entries to determine if lost+found was created
fsck.gfs2: pass1b shouldn't complain about non-bitmap blocks
fsck.gfs2: Change all fsck_blockmap_set to fsck_bitmap_set
fsck.gfs2: Move set_ip_blockmap to pass1
fsck.gfs2: Remove unneeded parameter instree from set_ip_blockmap
fsck.gfs2: Move leaf repair to pass2
fsck.gfs2: Eliminate astate code
fsck.gfs2: Move reprocess code to pass1
fsck.gfs2: Separate out functions that may only be done after pass1
fsck.gfs2: Divest check_metatree from fsck_blockmap_set
fsck.gfs2: eliminate fsck_blockmap_set from check_eattr_entries
fsck.gfs2: Move blockmap stuff to pass1.c
fsck: make pass1 call bitmap reconciliation AKA pass5
fsck.gfs2: make blockmap global variable only to pass1
fsck.gfs2: Add wrapper function pass1_check_metatree
fsck.gfs2: pass counted_links into fix_link_count in pass4
fsck.gfs2: refactor pass4 function scan_inode_list
fsck.gfs2: More refactoring of pass4 function scan_inode_list
fsck.gfs2: Fix white space problems
fsck.gfs2: move link count info for directories to directory tree
fsck.gfs2: Use bitmaps instead of linked list for inodes w/nlink == 1
fsck.gfs2: Refactor check_n_fix_bitmap to make it more readable
fsck.gfs2: adjust rgrp inode count when fixing bitmap
fsck.gfs2: blocks cannot be UNLINKED in pass1b or after that
fsck.gfs2: Add error checks to get_next_leaf
fsck.gfs2: re-add a non-allocating repair_leaf to pass1
libgfs2: Allocate new GFS1 metadata as type 3, not type 1
fsck.gfs2: Undo partially done metadata records
fsck.gfs2: Eliminate redundant code in _fsck_bitmap_set
fsck.gfs2: Fix inode counting bug
fsck.gfs2: Adjust bitmap for lost+found after adding to dirtree
fsck.gfs2: Add initialization checks for GFS1 used metadata
fsck.gfs2: Use BLKST constants to make pass5 more clear
fsck.gfs2: Fix GFS1 "used meta" accounting bug
fsck.gfs2: pass1b is too noisy wrt gfs1 non-dinode metadata
fsck.gfs2: Fix rgrp dinode accounting bug
fsck.gfs2: Fix rgrp accounting in check_n_fix_bitmap
gfs2_edit: Make 'j' jump to journaled block on log descriptors
fsck.gfs2: shorten bitmap state variable names
fsck.gfs2: Speed up fsck.gfs2 with a new inode rgrp pointer
fsck.gfs2: Further performance gains with function valid_block_ip

Paul Evans (3):
mkfs.gfs2: Allow longer cluster names
mkfs.gfs2: Add a progress indicator to mkfs.gfs2
mkfs.gfs2: print message about BKLDISCARD ioctl taking a long time

Shane Bradley (1):
gfs2_lockcapture: Fix condition where dlm lockspaces parsing failed
Linux-cluster mailing list
Continue reading on narkive: