[PATCH] btrfs: raid56: Fix stripes if vertical errors are found

Tanmay Bhushan posted 1 patch 2 years, 8 months ago
fs/btrfs/raid56.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] btrfs: raid56: Fix stripes if vertical errors are found
Posted by Tanmay Bhushan 2 years, 8 months ago
We take two stripe numbers if vertical errors are found.
In case it is just a pstripe it does not matter but in
case of raid 6 it matters a both stripes need to be fixed.

Signed-off-by: Tanmay Bhushan <007047221b@gmail.com>
---
 fs/btrfs/raid56.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/btrfs/raid56.c b/fs/btrfs/raid56.c
index 6a2cf754912d..f35898a78b16 100644
--- a/fs/btrfs/raid56.c
+++ b/fs/btrfs/raid56.c
@@ -1886,7 +1886,7 @@ static int recover_vertical(struct btrfs_raid_bio *rbio, int sector_nr,
 		sector->uptodate = 1;
 	}
 	if (failb >= 0) {
-		ret = verify_one_sector(rbio, faila, sector_nr);
+		ret = verify_one_sector(rbio, failb, sector_nr);
 		if (ret < 0)
 			goto cleanup;
 
-- 
2.34.1
Re: [PATCH] btrfs: raid56: Fix stripes if vertical errors are found
Posted by David Sterba 2 years, 7 months ago
On Sun, Jan 15, 2023 at 09:32:15PM +0100, Tanmay Bhushan wrote:
> We take two stripe numbers if vertical errors are found.
> In case it is just a pstripe it does not matter but in
> case of raid 6 it matters a both stripes need to be fixed.
> 
> Signed-off-by: Tanmay Bhushan <007047221b@gmail.com>

Added to misc-next, thanks.
Re: [PATCH] btrfs: raid56: Fix stripes if vertical errors are found
Posted by Qu Wenruo 2 years, 8 months ago

On 2023/1/16 04:32, Tanmay Bhushan wrote:
> We take two stripe numbers if vertical errors are found.
> In case it is just a pstripe it does not matter but in
> case of raid 6 it matters a both stripes need to be fixed.
> 
> Signed-off-by: Tanmay Bhushan <007047221b@gmail.com>

Oh, my bad, typical copy-and-paste error.

Should go in to the next rc.

Fixes: 7a3150723061 ("btrfs: raid56: do data csum verification during 
RMW cycle")

Thanks,
Qu
> ---
>   fs/btrfs/raid56.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/btrfs/raid56.c b/fs/btrfs/raid56.c
> index 6a2cf754912d..f35898a78b16 100644
> --- a/fs/btrfs/raid56.c
> +++ b/fs/btrfs/raid56.c
> @@ -1886,7 +1886,7 @@ static int recover_vertical(struct btrfs_raid_bio *rbio, int sector_nr,
>   		sector->uptodate = 1;
>   	}
>   	if (failb >= 0) {
> -		ret = verify_one_sector(rbio, faila, sector_nr);
> +		ret = verify_one_sector(rbio, failb, sector_nr);
>   		if (ret < 0)
>   			goto cleanup;
>