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:

   https://fedorahosted.org/released/gfs2-utils/gfs2-utils-3.1.9.tar.gz

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


https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=gfs2-utils&version=rawhide

Regards,
Andy

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 block_is_in_per_node
      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 save_indirect_blocks
      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
Linux-cluster@redhat.com
https://www.redhat.com/mailman/listinfo/linux-cluster

Reply via email to