Re: raid5 Journal Recovery Bug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2022-08-22 01:04, Song Liu wrote:
> Could you please add some printk so that we know which condition triggered
> handle_stripe_fill() here:
> 
>         if (s.to_read || s.non_overwrite
>             || (s.to_write && s.failed)
>             || (s.syncing && (s.uptodate + s.compute < disks))
>             || s.replacing
>             || s.expanding)
>                 handle_stripe_fill(sh, &s, disks);
> 
> This would help us narrow down to the exact condition. I guess it is
> "(s.to_write && s.failed)", but I am not quite sure.

Ok, I hit this bug on a stripe and got these values for the call:

  to_read       = 0
  non_overwrite = 0
  to_write	= 0	
  failed	= 1
  syncing	= 1
  uptodate	= 2
  compute	= 0
  disks		= 3
  replacing	= 0
  expanding	= 0

So it's actually the "(s.syncing && (s.uptodate + s.compute < disks))"
condition that is getting hit.

Thanks,

Logan



[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux