[Linux-cluster] gfs2-utils 3.1.7 released

Andrew Price anprice at redhat.com
Fri Sep 5 18:34:13 UTC 2014


Hi,

I'm happy to announce that gfs2-utils 3.1.7 has been released. Notable 
changes include:

* Journal layout and performance improvements in mkfs.gfs2:

   mkfs.gfs2 now allocates and writes resource groups and journal blocks 
in-order, improving the time it takes to create a gfs2 file system. 
Journals are laid out as single extents; when the journal size is larger 
than the resource group size, the initial resource groups are sized 
specifically to accommodate contiguous journals.

* fsck.gfs2 performance and other improvements

   fsck.gfs2 now makes use of read-ahead to speed up inode processing 
which can improve the performance of fsck.gfs2 runs for certain 
workloads. It also includes timing and logging instrumentation in order 
to help debug and monitor performance changes in fsck.gfs2. Handling of 
journal indirect block corruption has also been improved.

* Test suite enhancements

   gfs2-utils now uses GNU Autotest which is a testing framework 
integrated with Autotools-based build systems. More new test cases have 
been added and we will continue to improve coverage over time.

* Bug fixes

   Many bug fixes and improvements across the board based on testing, 
user feedback and static analysis results.

See below for a full list of changes. The source tarball is available from:

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

Please test, and do make sure to report bugs, whether they're crashers 
or typos. Please file them 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 3.1.6:

Abhi Das (3):
       libgfs2: patch to update gfs1 superblock correctly
       gfs2-utils: check and fix bad dinode pointers in gfs1 sb
       fsck.gfs2: fix corner case sb_seg_size correction for single 
journal fs

Andrew Price (79):
       gfs2_grow: Don't try to open an empty string
       gfs2-utils tests: Switch to autotest
       fsck.gfs2: Allocate enough space for the block map
       libgfs2: Move the BLOCKMAP_* macros into fsck.gfs2
       libgfs2: Add sd_heightsize bounds checking in read_sb
       fsck.gfs2: Fix block size validation
       gfs2l: Build with -D_FILE_OFFSET_BITS=64
       libgfs2: Add lgfs2_open_mnt* functions
       Switch is_pathname_mounted callers to lgfs2_open_mnt*
       libgfs2: Remove is_pathname_mounted
       libgfs2: Remove sdp argument from compute_heightsize
       libgfs2: Remove sdp and j arguments from write_journal
       libgfs2: Rework find_metapath
       libgfs2: Improve and simplify blk_alloc_in_rg
       mkfs.gfs2 tests: Enable debug output
       libgfs2: Refactor block allocation functions
       gfs2-utils: Clean up unused functions
       libgfs2: Remove exit call from build_rgrps
       gfs2_edit: Convert fssize to bytes before reporting fs size
       gfs2-utils: Remove duplicate definitions of gfs1 structs
       libgfs2: Superblock building and writing improvements
       gfs2-utils: Ensure sb_uuid uses are guarded
       libgfs2: Add support for new leaf hint fields
       mkfs.gfs2: Remove a dead structure
       libgfs2: Remove another exit() call
       gfs2-utils: Fix up some errors reported by clang
       gfs2_edit: Use the metadata description in get_block_type
       gfs2_edit: More static analysis fixes
       gfs2-utils: Fail to configure if flex is not found
       mkfs.gfs2: Make dev a member of mkfs_opts
       libgfs2: Add lgfs2_space_for_data()
       libgfs2: Don't try to read more than IOV_MAX iovecs
       mkfs.gfs2: Fix the resource group layout strategy, again
       libgfs2: Don't call gfs2_blk2rgrpd in gfs2_set_bitmap
       libgfs2: Add abstractions for rgrp tree traversal
       libgfs2: Split out the rindex calculation from lgfs2_rgrp_append
       libgfs2: Consolidate rgrp_tree and bitstruct allocations
       libgfs2: Add a lgfs2_rindex_read_fd() function
       libgfs2: Const-ify the 'ri' argument to gfs2_rindex_out
       libgfs2: Fix off-by-one in lgfs2_rgrps_plan
       libgfs2: Stick to the (rgrp) plan in lgfs2_rindex_entry_new
       gfs2_grow: Migrate to the new resource group API
       gfs2_grow: Add stripe alignment
       fsck.gfs2: Log to syslog on start and exit
       gfs2-utils: Expressly expunge 'expert mode'
       libgfs2: Remove UI fields from struct gfs2_sbd
       libgfs2: Remove debug field from gfs2_sbd
       libgfs2: Remove logging API
       gfs2_edit: Add a savemeta file metadata header
       gfs2_edit: savemeta and restoremeta improvements
       gfs2_edit: Fix parsing the savemeta -z option
       gfs2-utils: Fix two logic errors
       gfs2_edit: Ensure all leaf blocks in per_node are saved
       gfs2-utils tests: Add small-block savemeta tests
       libgfs2: Zero de_inum.no_addr when deleting dirents
       libgfs2: Keep a pointer to the sbd in lgfs2_rgrps_t
       libgfs2: Move bitmap buffers inside struct gfs2_bitmap
       libgfs2: Fix an impossible loop condition in gfs2_rgrp_read
       libgfs2: Introduce struct lgfs2_rbm
       libgfs2: Move struct _lgfs2_rgrps into rgrp.h
       libgfs2: Add functions for finding free extents
       tests: Add unit tests for the new extent search functions
       libgfs2: Ignore an empty rgrp plan if a length is specified
       libgfs2: Add back-pointer to rgrps in lgfs2_rgrp_t
       libgfs2: Const-ify the parameters of print functions
       libgfs2: Allow init_dinode to accept a preallocated bh
       libgfs2: Add extent allocation functions
       libgfs2: Add support for allocating entire rgrp headers
       libgfs2: Write file metadata sequentially
       libgfs2: Fix alignment in lgfs2_rgsize_for_data
       libgfs2: Handle non-zero bitmaps in lgfs2_rgrp_write
       libgfs2: Add a speedier journal data block writing function
       libgfs2: Create jindex directory separately from journals
       mkfs.gfs2: Improve journal creation performance
       mkfs.gfs2: Don't search the bitmaps to allocate journals
       gfs2l: Fix uninitialised string warning
       gfs2-utils: Remove target.mk files
       gfs2-utils: Update translation template
       libgfs2: Move unused gfs2_bmap into fsck.gfs2

Bob Peterson (14):
       fsck.gfs2: Add ability to detect journal inode indirect block 
corruption
       gfs2_tool: catch interrupts while the metafs is mounted
       gfs2_edit: Add "journals" option to print journal info
       fsck.gfs2: Check and repair per_node contents such as quota_changeX
       gfs2_edit: Separate out the journal-related functions to journal.c
       gfs2_edit: Add more intelligence to journal dumps
       gfs2_edit: Report referencing block address in the new journal code
       gfs2_edit: Improve log descriptor reference code
       gfs2_edit: mark log headers with the unmounted flag
       gfs2_edit: print LB (log descriptor continuation blocks) for GFS2
       gfs2_edit: Print block types with log descriptors
       fsck.gfs2: time each of the passes
       fsck.gfs2: Issue read-ahead for dinodes in each bitmap
       fsck.gfs2: File read-ahead

Shane Bradley (1):
       gfs2_lockcapture: Fixed header to use absolute path and modified 
some options




More information about the Linux-cluster mailing list