All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: Nikolay Borisov <nborisov@suse.com>, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 7/7] btrfs-progs: Fix super-recovery
Date: Tue, 5 Dec 2017 17:35:15 +0800	[thread overview]
Message-ID: <a7017b16-7f73-fe8c-310e-8bcfc4256c2c@gmx.com> (raw)
In-Reply-To: <1512463189-24724-8-git-send-email-nborisov@suse.com>


[-- Attachment #1.1: Type: text/plain, Size: 1551 bytes --]



On 2017年12月05日 16:39, Nikolay Borisov wrote:
> Commit 3296d058b7ce ("btrfs-progs: super-recover: Reuse
>  btrfs_read_dev_super function")

Oh my fault.

> changed the logic when a superblock
> is added to the bad block list to depend on -EIO. However currently
> btrfs_read_dev_super doesn't return -EIO when the fist super block
> is broken. Instead it returns -1. This causes the super-recovery
> logic to miss the fact that the first super block is completely broken.
> 
> Fix this by considering any error code from btrfs_read_dev_super other
> than -ENOENT to mean that the super block is corrupted. -ENOENT
> means that the superblock copy is not part of the fs i.e. it's smaller
> than the offset of the block. This can only occur for the 2nd copy at
> 256gb mark.
> 
> Signed-off-by: Nikolay Borisov <nborisov@suse.com>

Reviewed-by: Qu Wenruo <wqu@suse.com>

Thanks,
Qu
> ---
>  super-recover.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/super-recover.c b/super-recover.c
> index e12513100f17..880fd7712546 100644
> --- a/super-recover.c
> +++ b/super-recover.c
> @@ -136,7 +136,7 @@ read_dev_supers(char *filename, struct btrfs_recover_superblock *recover)
>  			max_gen = btrfs_super_generation(sb);
>  			if (max_gen > recover->max_generation)
>  				recover->max_generation = max_gen;
> -		} else if (ret == -EIO){
> +		} else if (ret != -ENOENT){
>  			/*
>  			 * Skip superblock which doesn't exist, only adds
>  			 * really corrupted superblock
> 


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 520 bytes --]

  reply	other threads:[~2017-12-05  9:35 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-05  8:39 [PATCH 0/7] Misc btrfs-progs cleanups/fixes Nikolay Borisov
2017-12-05  8:39 ` [PATCH 1/7] btrfs-progs: Explictly state test.sh must be executable Nikolay Borisov
2017-12-05  8:57   ` Qu Wenruo
2017-12-05  8:39 ` [PATCH 2/7] btrfs-progs: Factor out common print_device_info Nikolay Borisov
2017-12-05  9:02   ` Qu Wenruo
2017-12-05  8:39 ` [PATCH 3/7] btrfs-progs: Remove recover_get_good_super Nikolay Borisov
2017-12-05  9:10   ` Qu Wenruo
2017-12-05  8:39 ` [PATCH 4/7] btrfs-progs: Use list_for_each_entry in write_dev_all_supers Nikolay Borisov
2017-12-05  9:14   ` Qu Wenruo
2017-12-05  9:16     ` Nikolay Borisov
2017-12-07  9:10   ` [PATCH v2] btrfs-progs: Replace usage of list_for_each with list_for_each_entry Nikolay Borisov
2017-12-07  9:59     ` Qu Wenruo
2017-12-05  8:39 ` [PATCH 5/7] btrfs-progs: Document logic of btrfs_read_dev_super Nikolay Borisov
2017-12-05  9:21   ` Qu Wenruo
2017-12-05  8:39 ` [PATCH 6/7] btrfs-progs: Add test for super block recovery Nikolay Borisov
2017-12-05  9:33   ` Qu Wenruo
2017-12-05 10:04     ` Nikolay Borisov
2017-12-05 11:12       ` Qu Wenruo
2017-12-05 11:26         ` Nikolay Borisov
2017-12-05 12:13           ` Qu Wenruo
2018-01-23 15:07       ` David Sterba
2018-01-23 15:29         ` Nikolay Borisov
2018-01-23 15:39           ` David Sterba
2017-12-05  8:39 ` [PATCH 7/7] btrfs-progs: Fix super-recovery Nikolay Borisov
2017-12-05  9:35   ` Qu Wenruo [this message]
2018-01-15  9:17 ` [PATCH 0/7] Misc btrfs-progs cleanups/fixes Nikolay Borisov
2018-01-23 15:40   ` David Sterba

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=a7017b16-7f73-fe8c-310e-8bcfc4256c2c@gmx.com \
    --to=quwenruo.btrfs@gmx.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=nborisov@suse.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 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.