[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Cluster-devel] [PATCH 00/56] fsck.gfs2: Support for checking gfs1 file systems



Hi,

I previously posted a series of 44 patches to fsck.gfs2 that
fix numerous bugs and allow fsck.gfs2 to operate on GFS1 file
systems.  Since I posted those patches, I received feedback
and changed the patches accordingly.  I've also done extensive
testing and discovered and fixed several more bugs.
There are now 56 patches in all.  As Andy Price suggested,
I renamed their descriptions to make them shorter so
they're not cut off.

My latest version has passed all my tests and I'm ready to
start pushing them to the upstream gfs2-utils git repository.
But before I do, I wanted to post the corrected patches and
the new ones here.  I'm not reposting the patches that got
ACKed.  Here is the complete list of patches:

 1/56 fsck.gfs2: Make functions use sdp rather than sbp
 2/56 fsck.gfs2: Change "if(" to "if ("
 3/56 libgfs1: Add gfs1 variable to superblock structure
 4/56 libgfs2: Make check_sb and read_sb operate on gfs1
 5/56 libgfs2: move gfs1 structures to libgfs2
 6/56 fsck.gfs2: Check for blocks wrongly inside resource groups
 7/56 fsck.gfs2: Rename check_leaf to check_ealeaf_block
 8/56 fsck.gfs2: fsck.gfs2: Delete vestigial buffer_head in check_leaf
 9/56 fsck.gfs2: fsck.gfs2: Rename nlink functions to be intuitive
10/56 fsck.gfs2: fsck.gfs2: Sync di_nlink adding links for lost+found

11/56 fsck.gfs2: fsck.gfs2: Make dir entry count 32 bits
12/56 fsck.gfs2: get rid of triple negative logic
13/56 dirent_repair needs to mark the buffer as modified
14/56 fsck.gfs2: fsck.gfs2: Ask to reclaim unlinked meta per-rgrp only
15/56 fsck.gfs2: fsck.gfs2: Refactor add_dotdot function in lost+found
16/56 libgfs2: libgfs2: Use __FUNCTION__ rather than __FILE__
17/56 fsck.gfs2: fsck.gfs2: Don't stop invalidating blocks on invalid
18/56 fsck.gfs2: fsck.gfs2: Find and clear duplicate leaf blocks refs
19/56 fsck.gfs2: fsck.gfs2: Move check_num_ptrs from metawalk to pass1
20/56 fsck.gfs2: fsck.gfs2: Duplicate ref processing for leaf blocks

21/56 fsck.gfs2: fsck.gfs2: split check_leaf_blks to be more readable
22/56 fsck.gfs2: Shorten output
23/56 fsck.gfs2: Make output messages more sensible
24/56 fsck.gfs pass2: Refactor function set_dotdor_dir
25/56 fsck.gfs2 pass2: Delete extended attributes with inode
26/56 fsck.gfs2 pass2: Don't delete invalid inode metadata
27/56 fsck.gfs2 pass3: Refactor mark_and_return_parent
28/56 fsck.gfs2: misc cosmetic changes
29/56 fsck.gfs2: Don't use old_leaf if it was a duplicate
30/56 fsck.gfs2: Add find_remove_dup, free_block_if_notdup

31/56 fsck.gfs2: don't free prev rgrp list repairing rgrps
32/56 libgfs2: eliminate gfs1_readi in favor of gfs2_readi
33/56 libgfs2: Mark buffer modified adding a new GFS1 block
34/56 libgfs2: Use dinode buffer to map gfs1 dinode blocks
35/56 libgfs2: move block_map functions to fsck.gfs2
36/56 libgfs2: eliminate gfs1_rindex_read
37/56 libgfs2: combine ri_update and gfs1_ri_update
38/56 libgfs2: combine gfs_inode_read and gfs_inode_get
39/56 libgfs2: move gfs1 functions from edit to libgfs2
40/56 gfs2_edit savemeta: save_inode_data backward for gfs1

41/56 libgfs2: expand capabilities to operate on gfs1
42/56 fsck.gfs2: Combine block and char device inode types
43/56 fsck.gfs2: four-step duplicate elimination process
44/56 fsck.gfs2: Add ability to check gfs1 file systems
45/56 fsck.gfs2: Remove bad inodes from duplicate tree
46/56 fsck.gfs2: Handle duplicate reference to dinode blocks
47/56 fsck.gfs2: Bad extended attributes not deleted  properly
48/56 libgfs2: Make rebuild functions not re-read ip
49/56 fsck.gfs2: Shorten debug output
50/56 fsck.gfs2: Increment link count reporting wrong dinode

51/56 fsck.gfs2: system dinodes take priority over user dinodes
52/56 fsck.gfs2: Recognize partially gfs2-converted dinodes
53/56 fsck.gfs2: Print step 2 duplicate debug msg first
54/56 fsck.gfs2: pass1c counts percentage backward
55/56 fsck.gfs2: Speed up rangecheck functions
56/56 libgfs2: Make in-core rgrps use rbtree

In addition, I just put my experimental new fsck.gfs2,
which contains all these patches, on my people page at this
location:

http://people.redhat.com/rpeterso/Experimental/RHEL6.x/fsck.gfs2

It is experimental, so make backups and try it AT YOUR OWN RISK.
However, it is also better tested than all of its predecessors.

Regards,

Bob Peterson
Red Hat File Systems


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]