All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.