From: Jan Schmidt <list.btrfs@jan-o-sch.net>
To: chris.mason@oracle.com, linux-btrfs@vger.kernel.org
Subject: [PATCH v2 0/7] Btrfs: scrub: print path to corrupted files and trigger nodatasum fixup
Date: Sat, 18 Jun 2011 13:45:57 +0200 [thread overview]
Message-ID: <cover.1308397267.git.list.btrfs@jan-o-sch.net> (raw)
This patch set introduces two new features for scrub. They share the backref
iteration code which is the reason they made it into the same patch set.
The first feature adds printk statements in case scrub finds an error which list
all affected files. You will need patch 1, 2 and 3 for that.
The second feature adds the trigger which enables us to correct i/o errors in
case the affected extent does not have a checksum (nodatasum), eventually. You
will need patch 1, 4, 5 and 6 for that.
I tried to apply all patches to the current cmason/for-linus branch and to
Arne's current for-chris branch. They do apply with no errors (some offsets
possible).
Please review.
Next I'm starting to make up my mind how to implement on-the-fly error
correction correctly. This will enable us to rewrite good data whenever we
encounter a bad copy. I have some preliminary patches already, the stress in the
first sentence is on "correctly". The second feature mentioned in this patch
series will then automatically use that code, too.
Changelog v1->v2:
- Various cleanup, sensible error codes as suggested by David Sterba
-Jan
Jan Schmidt (7):
added helper functions to iterate backrefs
scrub: added unverified_errors
scrub: print paths of corrupted files
scrub: bugfix: mirror_num off by one
add mirror_num to extent_read_full_page
scrub: use int for mirror_num, not u64
scrub: add fixup code for errors on nodatasum files
fs/btrfs/Makefile | 3 +-
fs/btrfs/backref.c | 445 ++++++++++++++++++++++++++++++++++++++++++++++++++
fs/btrfs/backref.h | 59 +++++++
fs/btrfs/disk-io.c | 2 +-
fs/btrfs/extent_io.c | 6 +-
fs/btrfs/extent_io.h | 3 +-
fs/btrfs/inode.c | 2 +-
fs/btrfs/scrub.c | 384 +++++++++++++++++++++++++++++++++++++++----
8 files changed, 865 insertions(+), 39 deletions(-)
create mode 100644 fs/btrfs/backref.c
create mode 100644 fs/btrfs/backref.h
--
1.7.3.4
next reply other threads:[~2011-06-18 11:45 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-18 11:45 Jan Schmidt [this message]
2011-06-18 11:45 ` [PATCH v2 1/7] added helper functions to iterate backrefs Jan Schmidt
2011-06-21 14:37 ` David Sterba
2011-06-21 15:12 ` Jan Schmidt
2011-06-23 8:20 ` Jan Schmidt
2011-06-18 11:45 ` [PATCH v2 2/7] scrub: added unverified_errors Jan Schmidt
2011-06-18 11:46 ` [PATCH v2 3/7] scrub: print paths of corrupted files Jan Schmidt
2011-06-18 11:46 ` [PATCH v2 4/7] scrub: bugfix: mirror_num off by one Jan Schmidt
2011-06-18 11:46 ` [PATCH v2 5/7] add mirror_num to extent_read_full_page Jan Schmidt
2011-06-18 11:46 ` [PATCH v2 6/7] scrub: use int for mirror_num, not u64 Jan Schmidt
2011-06-18 11:46 ` [PATCH v2 7/7] scrub: add fixup code for errors on nodatasum files Jan Schmidt
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=cover.1308397267.git.list.btrfs@jan-o-sch.net \
--to=list.btrfs@jan-o-sch.net \
--cc=chris.mason@oracle.com \
--cc=linux-btrfs@vger.kernel.org \
/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).