raid5: separate header for log functions
Move raid5-cache declarations from raid5.h to raid5-log.h, add inline wrappers for functions which will be shared with ppl and use them in raid5 core instead of direct calls to raid5-cache. Remove unused parameter from r5c_cache_data(), move two duplicated pr_debug() calls to r5l_init_log(). Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com> Signed-off-by: Shaohua Li <shli@fb.com>
This commit is contained in:

committed by
Shaohua Li

parent
ea0213e0c7
commit
ff875738ed
@@ -344,6 +344,8 @@ void r5c_handle_cached_data_endio(struct r5conf *conf,
|
||||
}
|
||||
}
|
||||
|
||||
void r5l_wake_reclaim(struct r5l_log *log, sector_t space);
|
||||
|
||||
/* Check whether we should flush some stripes to free up stripe cache */
|
||||
void r5c_check_stripe_cache_usage(struct r5conf *conf)
|
||||
{
|
||||
@@ -2749,9 +2751,7 @@ void r5c_finish_stripe_write_out(struct r5conf *conf,
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
r5c_cache_data(struct r5l_log *log, struct stripe_head *sh,
|
||||
struct stripe_head_state *s)
|
||||
int r5c_cache_data(struct r5l_log *log, struct stripe_head *sh)
|
||||
{
|
||||
struct r5conf *conf = sh->raid_conf;
|
||||
int pages = 0;
|
||||
@@ -2914,6 +2914,10 @@ int r5l_init_log(struct r5conf *conf, struct md_rdev *rdev)
|
||||
{
|
||||
struct request_queue *q = bdev_get_queue(rdev->bdev);
|
||||
struct r5l_log *log;
|
||||
char b[BDEVNAME_SIZE];
|
||||
|
||||
pr_debug("md/raid:%s: using device %s as journal\n",
|
||||
mdname(conf->mddev), bdevname(rdev->bdev, b));
|
||||
|
||||
if (PAGE_SIZE != 4096)
|
||||
return -EINVAL;
|
||||
@@ -3016,8 +3020,13 @@ io_kc:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
void r5l_exit_log(struct r5l_log *log)
|
||||
void r5l_exit_log(struct r5conf *conf)
|
||||
{
|
||||
struct r5l_log *log = conf->log;
|
||||
|
||||
conf->log = NULL;
|
||||
synchronize_rcu();
|
||||
|
||||
flush_work(&log->disable_writeback_work);
|
||||
md_unregister_thread(&log->reclaim_thread);
|
||||
mempool_destroy(log->meta_pool);
|
||||
|
Reference in New Issue
Block a user