diff options
author | JackieLiu <liuyun01@kylinos.cn> | 2016-12-07 19:47:39 -0500 |
---|---|---|
committer | Shaohua Li <shli@fb.com> | 2016-12-08 13:01:17 -0500 |
commit | d30dfeb9be25c67c9cfdfd932db57a571fd347b4 (patch) | |
tree | 53a8b05f30d1d219002270685d6a876ff9dae84e | |
parent | e2342ca832726a840ca6bd196dd2cc073815b08a (diff) |
md/raid5-cache: no recovery is required when create super-block
When create the super-block information, We do not need to do this
recovery stage, only need to initialize some variables.
Signed-off-by: JackieLiu <liuyun01@kylinos.cn>
Reviewed-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Shaohua Li <shli@fb.com>
-rw-r--r-- | drivers/md/raid5-cache.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/md/raid5-cache.c b/drivers/md/raid5-cache.c index c3b3124e033b..7c732c5f87c9 100644 --- a/drivers/md/raid5-cache.c +++ b/drivers/md/raid5-cache.c | |||
@@ -2492,7 +2492,7 @@ static int r5l_load_log(struct r5l_log *log) | |||
2492 | sector_t cp = log->rdev->journal_tail; | 2492 | sector_t cp = log->rdev->journal_tail; |
2493 | u32 stored_crc, expected_crc; | 2493 | u32 stored_crc, expected_crc; |
2494 | bool create_super = false; | 2494 | bool create_super = false; |
2495 | int ret; | 2495 | int ret = 0; |
2496 | 2496 | ||
2497 | /* Make sure it's valid */ | 2497 | /* Make sure it's valid */ |
2498 | if (cp >= rdev->sectors || round_down(cp, BLOCK_SECTORS) != cp) | 2498 | if (cp >= rdev->sectors || round_down(cp, BLOCK_SECTORS) != cp) |
@@ -2545,7 +2545,13 @@ create: | |||
2545 | 2545 | ||
2546 | __free_page(page); | 2546 | __free_page(page); |
2547 | 2547 | ||
2548 | ret = r5l_recovery_log(log); | 2548 | if (create_super) { |
2549 | log->log_start = r5l_ring_add(log, cp, BLOCK_SECTORS); | ||
2550 | log->seq = log->last_cp_seq + 1; | ||
2551 | log->next_checkpoint = cp; | ||
2552 | } else | ||
2553 | ret = r5l_recovery_log(log); | ||
2554 | |||
2549 | r5c_update_log_state(log); | 2555 | r5c_update_log_state(log); |
2550 | return ret; | 2556 | return ret; |
2551 | ioerr: | 2557 | ioerr: |