r5conf
struct r5conf *conf;
struct r5conf *conf = rs_is_raid456(rs) ? mddev->private : NULL;
static sector_t r5c_calculate_new_cp(struct r5conf *conf)
struct r5conf *conf = log->rdev->mddev->private;
struct r5conf *conf = log->rdev->mddev->private;
static void r5c_flush_stripe(struct r5conf *conf, struct stripe_head *sh)
void r5c_flush_cache(struct r5conf *conf, int num)
static void r5c_do_reclaim(struct r5conf *conf)
struct r5conf *conf = log->rdev->mddev->private;
struct r5conf *conf = mddev->private;
bool r5l_log_disk_error(struct r5conf *conf)
struct r5conf *conf = mddev->private;
struct r5conf *conf = mddev->private;
r5l_recovery_replay_one_stripe(struct r5conf *conf,
struct r5conf *conf,
static inline sector_t r5c_tree_index(struct r5conf *conf,
struct r5conf *conf = mddev->private;
struct r5conf *conf = mddev->private;
struct r5conf *conf = mddev->private;
struct r5conf *conf;
struct r5conf *conf;
int r5c_try_caching_write(struct r5conf *conf,
struct r5conf *conf = sh->raid_conf;
struct r5conf *conf = sh->raid_conf;
void r5c_finish_stripe_write_out(struct r5conf *conf,
struct r5conf *conf = sh->raid_conf;
r5c_return_dev_pending_writes(struct r5conf *conf, struct r5dev *dev)
bool r5c_big_stripe_cached(struct r5conf *conf, sector_t sect)
struct r5conf *conf = mddev->private;
struct r5conf *conf = mddev->private;
int r5l_init_log(struct r5conf *conf, struct md_rdev *rdev)
void r5c_handle_cached_data_endio(struct r5conf *conf,
void r5l_exit_log(struct r5conf *conf)
void r5c_check_stripe_cache_usage(struct r5conf *conf)
void r5c_check_cached_full_stripe(struct r5conf *conf)
static sector_t r5c_log_required_to_flush_cache(struct r5conf *conf)
struct r5conf *conf = log->rdev->mddev->private;
struct r5conf *conf = sh->raid_conf;
struct r5conf *conf = mddev->private;
struct r5conf *conf = mddev->private;
struct r5conf *conf = sh->raid_conf;
static inline int log_handle_flush_request(struct r5conf *conf, struct bio *bio)
static inline void log_quiesce(struct r5conf *conf, int quiesce)
static inline void log_exit(struct r5conf *conf)
bool r5l_log_disk_error(struct r5conf *conf);
static inline int log_init(struct r5conf *conf, struct md_rdev *journal_dev,
static inline int log_modify(struct r5conf *conf, struct md_rdev *rdev, bool add)
int r5c_try_caching_write(struct r5conf *conf, struct stripe_head *sh,
void r5c_finish_stripe_write_out(struct r5conf *conf, struct stripe_head *sh,
void r5c_handle_cached_data_endio(struct r5conf *conf,
void r5c_flush_cache(struct r5conf *conf, int num);
void r5c_check_stripe_cache_usage(struct r5conf *conf);
void r5c_check_cached_full_stripe(struct r5conf *conf);
bool r5c_big_stripe_cached(struct r5conf *conf, sector_t sect);
int ppl_init_log(struct r5conf *conf);
void ppl_exit_log(struct r5conf *conf);
int ppl_write_stripe(struct r5conf *conf, struct stripe_head *sh);
void ppl_write_stripe_run(struct r5conf *conf);
int ppl_modify_log(struct r5conf *conf, struct md_rdev *rdev, bool add);
void ppl_quiesce(struct r5conf *conf, int quiesce);
static inline bool raid5_has_log(struct r5conf *conf)
int r5l_init_log(struct r5conf *conf, struct md_rdev *rdev);
static inline bool raid5_has_ppl(struct r5conf *conf)
struct r5conf *conf = sh->raid_conf;
void r5l_exit_log(struct r5conf *conf);
struct r5conf *conf = sh->raid_conf;
static inline void log_write_stripe_run(struct r5conf *conf)
static inline void log_flush_stripe_to_raid(struct r5conf *conf)
void ppl_exit_log(struct r5conf *conf)
RAID5_STRIPE_SECTORS((struct r5conf *)rdev->mddev->private));
int ppl_init_log(struct r5conf *conf)
int ppl_modify_log(struct r5conf *conf, struct md_rdev *rdev, bool add)
struct r5conf *conf;
struct r5conf *conf = sh->raid_conf;
int ppl_write_stripe(struct r5conf *conf, struct stripe_head *sh)
void ppl_write_stripe_run(struct r5conf *conf)
struct r5conf *conf = ppl_conf->mddev->private;
struct r5conf *conf = ppl_conf->mddev->private;
struct r5conf *conf = ppl_conf->mddev->private;
static inline bool ppl_no_io_unit_submitted(struct r5conf *conf,
void ppl_quiesce(struct r5conf *conf, int quiesce)
struct r5conf *conf = mddev->private;
static int use_new_offset(struct r5conf *conf, struct stripe_head *sh)
static inline void lock_all_device_hash_locks_irq(struct r5conf *conf)
static void dispatch_defer_bios(struct r5conf *conf, int target,
static void flush_deferred_bios(struct r5conf *conf)
static void defer_issue_bios(struct r5conf *conf, sector_t sector,
static inline void unlock_all_device_hash_locks_irq(struct r5conf *conf)
struct r5conf *conf = sh->raid_conf;
struct r5conf *conf = sh->raid_conf;
struct r5conf *conf = sh->raid_conf;
struct r5conf *conf = sh->raid_conf;
static void print_raid5_conf(struct r5conf *conf);
struct r5conf *conf = sh->raid_conf;
struct r5conf *conf = sh->raid_conf;
static void do_release_stripe(struct r5conf *conf, struct stripe_head *sh,
struct r5conf *conf = sh->raid_conf;
int disks, struct r5conf *conf)
static int grow_one_stripe(struct r5conf *conf, gfp_t gfp)
static int grow_stripes(struct r5conf *conf, int num)
static int resize_chunks(struct r5conf *conf, int new_disks, int new_sectors)
static int resize_stripes(struct r5conf *conf, int newsize)
static int drop_one_stripe(struct r5conf *conf)
static void shrink_stripes(struct r5conf *conf)
struct r5conf *conf = sh->raid_conf;
struct r5conf *conf = sh->raid_conf;
struct r5conf *conf = mddev->private;
sector_t raid5_compute_sector(struct r5conf *conf, sector_t r_sector,
static void __release_stripe(struct r5conf *conf, struct stripe_head *sh,
struct r5conf *conf = sh->raid_conf;
static void release_inactive_stripe_list(struct r5conf *conf,
static inline bool delay_towrite(struct r5conf *conf,
struct r5conf *conf = sh->raid_conf;
struct r5conf *conf = sh->raid_conf;
struct r5conf *conf = sh->raid_conf;
static void end_reshape(struct r5conf *conf);
static void stripe_set_idx(sector_t stripe, struct r5conf *conf, int previous,
handle_failed_stripe(struct r5conf *conf, struct stripe_head *sh,
static int release_stripe_list(struct r5conf *conf,
handle_failed_sync(struct r5conf *conf, struct stripe_head *sh,
static void handle_stripe_clean_event(struct r5conf *conf,
struct r5conf *conf = sh->raid_conf;
static int handle_stripe_dirtying(struct r5conf *conf,
static void handle_parity_checks5(struct r5conf *conf, struct stripe_head *sh,
static inline void insert_hash(struct r5conf *conf, struct stripe_head *sh)
static void handle_parity_checks6(struct r5conf *conf, struct stripe_head *sh,
static struct stripe_head *get_free_stripe(struct r5conf *conf, int hash)
static void handle_stripe_expansion(struct r5conf *conf, struct stripe_head *sh)
struct r5conf *conf = sh->raid_conf;
struct r5conf *conf = sh->raid_conf;
init_stripe_shared_pages(struct stripe_head *sh, struct r5conf *conf, int disks)
static void raid5_activate_delayed(struct r5conf *conf)
static void activate_bit_delay(struct r5conf *conf,
struct r5conf *conf = mddev->private;
static void add_bio_to_retry(struct bio *bi,struct r5conf *conf)
static struct bio *remove_bio_from_retry(struct r5conf *conf,
struct r5conf *conf = mddev->private;
struct r5conf *conf = mddev->private;
struct r5conf *conf = mddev->private;
static struct stripe_head *__get_priority_stripe(struct r5conf *conf, int group)
struct r5conf *conf = mddev->private;
struct r5conf *conf = mddev->private;
static void stripe_set_idx(sector_t stripe, struct r5conf *conf, int previous,
static bool stripe_ahead_of_reshape(struct mddev *mddev, struct r5conf *conf,
static int add_all_stripe_bios(struct r5conf *conf,
struct r5conf *conf = sh->raid_conf;
struct r5conf *conf, sector_t logical_sector)
struct r5conf *conf = mddev->private;
struct r5conf *conf, struct stripe_request_ctx *ctx,
static sector_t raid5_bio_lowest_chunk_sector(struct r5conf *conf,
struct r5conf *conf = mddev->private;
static struct stripe_head *__find_stripe(struct r5conf *conf, sector_t sector,
struct r5conf *conf = mddev->private;
static struct stripe_head *find_get_stripe(struct r5conf *conf,
struct r5conf *conf = mddev->private;
static int retry_aligned_read(struct r5conf *conf, struct bio *raid_bio,
static int handle_active_stripes(struct r5conf *conf, int group,
struct r5conf *conf = group->conf;
struct r5conf *conf = mddev->private;
struct r5conf *conf;
struct r5conf *conf = mddev->private;
struct r5conf *conf;
struct r5conf *conf = mddev->private;
struct r5conf *conf = mddev->private;
int raid5_calc_degraded(struct r5conf *conf)
struct r5conf *conf;
struct r5conf *conf;
struct r5conf *conf;
struct r5conf *conf;
struct r5conf *conf;
struct r5conf *conf;
struct r5conf *conf = mddev->private;
struct r5conf *conf;
static int alloc_thread_groups(struct r5conf *conf, int cnt,
struct r5conf *conf;
static int alloc_thread_groups(struct r5conf *conf, int cnt, int *group_cnt,
static void free_thread_groups(struct r5conf *conf)
struct r5conf *conf = mddev->private;
static void free_scratch_buffer(struct r5conf *conf, struct raid5_percpu *percpu)
static int alloc_scratch_buffer(struct r5conf *conf, struct raid5_percpu *percpu)
struct r5conf *conf = hlist_entry_safe(node, struct r5conf, node);
static void raid5_free_percpu(struct r5conf *conf)
static void free_conf(struct r5conf *conf)
struct r5conf *conf = hlist_entry_safe(node, struct r5conf, node);
static int raid5_alloc_percpu(struct r5conf *conf)
struct r5conf *conf = shrink->private_data;
struct r5conf *conf = shrink->private_data;
static struct r5conf *setup_conf(struct mddev *mddev)
struct r5conf *conf;
static bool has_failed(struct r5conf *conf)
conf = kzalloc_obj(struct r5conf);
static int raid5_create_ctx_pool(struct r5conf *conf)
struct r5conf *conf = mddev->private;
static inline struct hlist_head *stripe_hash(struct r5conf *conf, sector_t sect)
struct r5conf *conf;
static bool is_inactive_blocked(struct r5conf *conf, int hash)
struct stripe_head *raid5_get_active_stripe(struct r5conf *conf,
struct r5conf *conf = priv;
struct r5conf *conf = mddev->private;
static void print_raid5_conf(struct r5conf *conf)
struct r5conf *conf = mddev->private;
struct r5conf *conf = mddev->private;
struct r5conf *conf = mddev->private;
struct r5conf *conf = mddev->private;
static inline int stripe_hash_locks_hash(struct r5conf *conf, sector_t sect)
struct r5conf *conf = mddev->private;
struct r5conf *conf = mddev->private;
struct r5conf *conf = mddev->private;
static void end_reshape(struct r5conf *conf)
struct r5conf *conf = mddev->private;
struct r5conf *conf = mddev->private;
if ((chunksect<<9) < RAID5_STRIPE_SIZE((struct r5conf *)mddev->private))
struct r5conf *conf = mddev->private;
static inline void lock_device_hash_lock(struct r5conf *conf, int hash)
struct r5conf *conf;
struct r5conf *conf = mddev->private;
struct r5conf *conf = mddev->private;
struct r5conf *conf = sh->raid_conf;
static void stripe_add_to_batch_list(struct r5conf *conf,
static inline void unlock_device_hash_lock(struct r5conf *conf, int hash)
struct r5conf *raid_conf;
struct r5conf *conf;
static inline struct bio *r5_next_bio(struct r5conf *conf, struct bio *bio, sector_t sector)
void md_raid5_kick_device(struct r5conf *conf);
sector_t raid5_compute_sector(struct r5conf *conf, sector_t r_sector,
struct stripe_head *raid5_get_active_stripe(struct r5conf *conf,
int raid5_calc_degraded(struct r5conf *conf);