From: Andrew Price <anprice@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [gfs2-utils PATCH 00/20] fsck.gfs2: Fix bugs and eliminate pass1c
Date: Tue, 29 Sep 2015 19:02:48 +0100 [thread overview]
Message-ID: <560AD248.7050802@redhat.com> (raw)
In-Reply-To: <cover.1443450920.git.rpeterso@redhat.com>
Hi Bob,
On 28/09/15 15:45, Bob Peterson wrote:
> 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.
The series looks good to me. ACK.
Thanks,
Andy
>
> 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
>
prev parent reply other threads:[~2015-09-29 18:02 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
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 ` Andrew Price [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=560AD248.7050802@redhat.com \
--to=anprice@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).