Lines Matching refs:elr

3705 static int ext4_run_li_request(struct ext4_li_request *elr)
3708 struct super_block *sb = elr->lr_super;
3710 ext4_group_t group = elr->lr_next_group;
3716 if (elr->lr_mode == EXT4_LI_MODE_PREFETCH_BBITMAP) {
3717 elr->lr_next_group = ext4_mb_prefetch(sb, group, nr, &prefetch_ios);
3718 ext4_mb_prefetch_fini(sb, elr->lr_next_group, nr);
3719 trace_ext4_prefetch_bitmaps(sb, group, elr->lr_next_group, nr);
3720 if (group >= elr->lr_next_group) {
3722 if (elr->lr_first_not_zeroed != ngroups &&
3724 elr->lr_next_group = elr->lr_first_not_zeroed;
3725 elr->lr_mode = EXT4_LI_MODE_ITABLE;
3749 elr->lr_timeout ? 0 : 1);
3751 if (elr->lr_timeout == 0) {
3752 elr->lr_timeout = nsecs_to_jiffies((ktime_get_real_ns() - start_time) *
3753 EXT4_SB(elr->lr_super)->s_li_wait_mult);
3755 elr->lr_next_sched = jiffies + elr->lr_timeout;
3756 elr->lr_next_group = group + 1;
3765 static void ext4_remove_li_request(struct ext4_li_request *elr)
3767 if (!elr)
3770 list_del(&elr->lr_request);
3771 EXT4_SB(elr->lr_super)->s_li_request = NULL;
3772 kfree(elr);
3804 struct ext4_li_request *elr;
3822 elr = list_entry(pos, struct ext4_li_request,
3825 if (time_before(jiffies, elr->lr_next_sched)) {
3826 if (time_before(elr->lr_next_sched, next_wakeup))
3827 next_wakeup = elr->lr_next_sched;
3830 if (down_read_trylock(&elr->lr_super->s_umount)) {
3831 if (sb_start_write_trylock(elr->lr_super)) {
3839 err = ext4_run_li_request(elr);
3840 sb_end_write(elr->lr_super);
3844 up_read((&elr->lr_super->s_umount));
3848 ext4_remove_li_request(elr);
3852 elr->lr_next_sched = jiffies +
3855 if (time_before(elr->lr_next_sched, next_wakeup))
3856 next_wakeup = elr->lr_next_sched;
3904 struct ext4_li_request *elr;
3908 elr = list_entry(pos, struct ext4_li_request,
3910 ext4_remove_li_request(elr);
3980 struct ext4_li_request *elr;
3982 elr = kzalloc(sizeof(*elr), GFP_KERNEL);
3983 if (!elr)
3986 elr->lr_super = sb;
3987 elr->lr_first_not_zeroed = start;
3989 elr->lr_mode = EXT4_LI_MODE_ITABLE;
3990 elr->lr_next_group = start;
3992 elr->lr_mode = EXT4_LI_MODE_PREFETCH_BBITMAP;
4000 elr->lr_next_sched = jiffies + get_random_u32_below(EXT4_DEF_LI_MAX_START_DELAY * HZ);
4001 return elr;
4008 struct ext4_li_request *elr = NULL;
4027 elr = ext4_li_request_new(sb, first_not_zeroed);
4028 if (!elr) {
4040 list_add(&elr->lr_request, &ext4_li_info->li_request_list);
4043 sbi->s_li_request = elr;
4045 * set elr to NULL here since it has been inserted to
4049 elr = NULL;
4059 kfree(elr);