cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [Cluster-devel] [gfs2-utils PATCH 00/20] fsck.gfs2: Fix bugs and eliminate pass1c
@ 2015-09-28 14:45 Bob Peterson
  2015-09-28 14:45 ` [Cluster-devel] [gfs2-utils PATCH 01/20] libgfs2: Check block range when inserting into rgrp tree Bob Peterson
                   ` (20 more replies)
  0 siblings, 21 replies; 22+ messages in thread
From: Bob Peterson @ 2015-09-28 14:45 UTC (permalink / raw)
  To: cluster-devel.redhat.com

Hi,

This original goal of this patch series was to eliminate pass1c, because
it is slow and takes lots of memory related to a linked list of all inodes
that have extended attributes. In thoroughly testing the patch, I uncovered
a bunch of fsck.gfs2 bugs, most of which have to do with extended attributes.
One patch spares the life of inodes that have bad extended attribute pointers:
rather than deleting the inode, it now removes its extended attributes.
Another patch adds a new feature to fsck.gfs2 whereby duplicated data block
pointers may be cloned to new data blocks, sparing the life of some inodes
that were previously deleted. There are a few cleanups thrown in as well.

Regards,

Bob Peterson
Red Hat File Systems

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
---
Bob Peterson (20):
  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/fsck/Makefile.am  |   1 -
 gfs2/fsck/main.c       |   1 -
 gfs2/fsck/metawalk.c   | 185 ++++++++++++-----------
 gfs2/fsck/pass1.c      | 296 ++++++++++++++++++++++---------------
 gfs2/fsck/pass1b.c     | 392 +++++++++++++++++++++++++++++++++++--------------
 gfs2/fsck/pass1c.c     | 285 -----------------------------------
 gfs2/fsck/pass2.c      |  21 +++
 gfs2/fsck/util.c       |  15 +-
 gfs2/libgfs2/libgfs2.h |   2 -
 gfs2/libgfs2/rgrp.c    |   2 +-
 gfs2/libgfs2/super.c   |   6 +
 11 files changed, 592 insertions(+), 614 deletions(-)
 delete mode 100644 gfs2/fsck/pass1c.c

-- 
2.4.3



^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2015-09-29 18:02 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-28 14:45 [Cluster-devel] [gfs2-utils PATCH 00/20] fsck.gfs2: Fix bugs and eliminate pass1c Bob Peterson
2015-09-28 14:45 ` [Cluster-devel] [gfs2-utils PATCH 01/20] libgfs2: Check block range when inserting into rgrp tree Bob Peterson
2015-09-28 14:45 ` [Cluster-devel] [gfs2-utils PATCH 02/20] libgfs2: Check rgd->bits before referencing it Bob Peterson
2015-09-28 14:45 ` [Cluster-devel] [gfs2-utils PATCH 03/20] fsck.gfs2: Add check for gfs1 invalid inode refs in dentry Bob Peterson
2015-09-28 14:45 ` [Cluster-devel] [gfs2-utils PATCH 04/20] fsck.gfs2: Make debug messages more succinct wrt extended attributes Bob Peterson
2015-09-28 14:45 ` [Cluster-devel] [gfs2-utils PATCH 05/20] fsck.gfs2: Break up funtion handle_dup_blk Bob Peterson
2015-09-28 14:45 ` [Cluster-devel] [gfs2-utils PATCH 06/20] fsck.gfs2: Only preserve the _first_ acceptable inode reference Bob Peterson
2015-09-28 14:45 ` [Cluster-devel] [gfs2-utils PATCH 07/20] fsck.gfs2: Don't just assume the remaining EA reference is good Bob Peterson
2015-09-28 14:45 ` [Cluster-devel] [gfs2-utils PATCH 08/20] fsck.gfs2: Don't delete inode for duplicate reference in EA Bob Peterson
2015-09-28 14:45 ` [Cluster-devel] [gfs2-utils PATCH 09/20] fsck.gfs2: Don't traverse EAs that belong to another inode Bob Peterson
2015-09-28 14:45 ` [Cluster-devel] [gfs2-utils PATCH 10/20] fsck.gfs2: Refactor function check_indirect_eattr Bob Peterson
2015-09-28 14:45 ` [Cluster-devel] [gfs2-utils PATCH 11/20] fsck.gfs2: Once an indirect ea error is found, flag all that follow Bob Peterson
2015-09-28 14:45 ` [Cluster-devel] [gfs2-utils PATCH 12/20] fsck.gfs2: Always restore saved value for di_eattr Bob Peterson
2015-09-28 14:45 ` [Cluster-devel] [gfs2-utils PATCH 13/20] fsck.gfs2: Remove redundancy in add_duplicate_ref Bob Peterson
2015-09-28 14:45 ` [Cluster-devel] [gfs2-utils PATCH 14/20] fsck.gfs2: Don't remove duplicate eattr blocks Bob Peterson
2015-09-28 14:46 ` [Cluster-devel] [gfs2-utils PATCH 15/20] fsck.gfs2: Refactor check_eattr_entries and add error messages Bob Peterson
2015-09-28 14:46 ` [Cluster-devel] [gfs2-utils PATCH 16/20] fsck.gfs2: remove bad EAs at the end, not as-you-go Bob Peterson
2015-09-28 14:46 ` [Cluster-devel] [gfs2-utils PATCH 17/20] fsck.gfs2: Combine remove_inode_eattr with its only caller Bob Peterson
2015-09-28 14:46 ` [Cluster-devel] [gfs2-utils PATCH 18/20] fsck.gfs2: Print debug message to dilineate metadata blocks Bob Peterson
2015-09-28 14:46 ` [Cluster-devel] [gfs2-utils PATCH 19/20] fsck.gfs2: Remove pass1c in favor of processing in pass1 Bob Peterson
2015-09-28 14:46 ` [Cluster-devel] [gfs2-utils PATCH 20/20] fsck.gfs2: Clone duplicate data block pointers Bob Peterson
2015-09-29 18:02 ` [Cluster-devel] [gfs2-utils PATCH 00/20] fsck.gfs2: Fix bugs and eliminate pass1c Andrew Price

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).