raid5-cache: correct condition for empty metadata write
As long as we recover one metadata block, we should write the empty metadata write. The original code could make recovery corrupted if only one meta is valid. Reported-by: Zhengyuan Liu <liuzhengyuan@kylinos.cn> Signed-off-by: Shaohua Li <shli@fb.com>
This commit is contained in:
parent
16f889499a
commit
9a8b27fac5
@ -1087,7 +1087,7 @@ static int r5l_recovery_log(struct r5l_log *log)
|
||||
* 1's seq + 10 and let superblock points to meta2. The same recovery will
|
||||
* not think meta 3 is a valid meta, because its seq doesn't match
|
||||
*/
|
||||
if (ctx.seq > log->last_cp_seq + 1) {
|
||||
if (ctx.seq > log->last_cp_seq) {
|
||||
int ret;
|
||||
|
||||
ret = r5l_log_write_empty_meta_block(log, ctx.pos, ctx.seq + 10);
|
||||
|
Loading…
Reference in New Issue
Block a user