Lines Matching refs:elr

3424 static int ext4_run_li_request(struct ext4_li_request *elr)  in ext4_run_li_request()  argument
3427 struct super_block *sb = elr->lr_super; in ext4_run_li_request()
3429 ext4_group_t group = elr->lr_next_group; in ext4_run_li_request()
3434 if (elr->lr_mode == EXT4_LI_MODE_PREFETCH_BBITMAP) { in ext4_run_li_request()
3435 elr->lr_next_group = ext4_mb_prefetch(sb, group, in ext4_run_li_request()
3438 ext4_mb_prefetch_fini(sb, elr->lr_next_group, in ext4_run_li_request()
3440 trace_ext4_prefetch_bitmaps(sb, group, elr->lr_next_group, in ext4_run_li_request()
3442 if (group >= elr->lr_next_group) { in ext4_run_li_request()
3444 if (elr->lr_first_not_zeroed != ngroups && in ext4_run_li_request()
3446 elr->lr_next_group = elr->lr_first_not_zeroed; in ext4_run_li_request()
3447 elr->lr_mode = EXT4_LI_MODE_ITABLE; in ext4_run_li_request()
3471 elr->lr_timeout ? 0 : 1); in ext4_run_li_request()
3473 if (elr->lr_timeout == 0) { in ext4_run_li_request()
3475 EXT4_SB(elr->lr_super)->s_li_wait_mult; in ext4_run_li_request()
3476 elr->lr_timeout = timeout; in ext4_run_li_request()
3478 elr->lr_next_sched = jiffies + elr->lr_timeout; in ext4_run_li_request()
3479 elr->lr_next_group = group + 1; in ext4_run_li_request()
3488 static void ext4_remove_li_request(struct ext4_li_request *elr) in ext4_remove_li_request() argument
3490 if (!elr) in ext4_remove_li_request()
3493 list_del(&elr->lr_request); in ext4_remove_li_request()
3494 EXT4_SB(elr->lr_super)->s_li_request = NULL; in ext4_remove_li_request()
3495 kfree(elr); in ext4_remove_li_request()
3527 struct ext4_li_request *elr; in ext4_lazyinit_thread() local
3544 elr = list_entry(pos, struct ext4_li_request, in ext4_lazyinit_thread()
3547 if (time_before(jiffies, elr->lr_next_sched)) { in ext4_lazyinit_thread()
3548 if (time_before(elr->lr_next_sched, next_wakeup)) in ext4_lazyinit_thread()
3549 next_wakeup = elr->lr_next_sched; in ext4_lazyinit_thread()
3552 if (down_read_trylock(&elr->lr_super->s_umount)) { in ext4_lazyinit_thread()
3553 if (sb_start_write_trylock(elr->lr_super)) { in ext4_lazyinit_thread()
3561 err = ext4_run_li_request(elr); in ext4_lazyinit_thread()
3562 sb_end_write(elr->lr_super); in ext4_lazyinit_thread()
3566 up_read((&elr->lr_super->s_umount)); in ext4_lazyinit_thread()
3570 ext4_remove_li_request(elr); in ext4_lazyinit_thread()
3574 elr->lr_next_sched = jiffies + in ext4_lazyinit_thread()
3578 if (time_before(elr->lr_next_sched, next_wakeup)) in ext4_lazyinit_thread()
3579 next_wakeup = elr->lr_next_sched; in ext4_lazyinit_thread()
3627 struct ext4_li_request *elr; in ext4_clear_request_list() local
3631 elr = list_entry(pos, struct ext4_li_request, in ext4_clear_request_list()
3633 ext4_remove_li_request(elr); in ext4_clear_request_list()
3703 struct ext4_li_request *elr; in ext4_li_request_new() local
3705 elr = kzalloc(sizeof(*elr), GFP_KERNEL); in ext4_li_request_new()
3706 if (!elr) in ext4_li_request_new()
3709 elr->lr_super = sb; in ext4_li_request_new()
3710 elr->lr_first_not_zeroed = start; in ext4_li_request_new()
3712 elr->lr_mode = EXT4_LI_MODE_PREFETCH_BBITMAP; in ext4_li_request_new()
3714 elr->lr_mode = EXT4_LI_MODE_ITABLE; in ext4_li_request_new()
3715 elr->lr_next_group = start; in ext4_li_request_new()
3723 elr->lr_next_sched = jiffies + (prandom_u32() % in ext4_li_request_new()
3725 return elr; in ext4_li_request_new()
3732 struct ext4_li_request *elr = NULL; in ext4_register_li_request() local
3751 elr = ext4_li_request_new(sb, first_not_zeroed); in ext4_register_li_request()
3752 if (!elr) { in ext4_register_li_request()
3764 list_add(&elr->lr_request, &ext4_li_info->li_request_list); in ext4_register_li_request()
3767 sbi->s_li_request = elr; in ext4_register_li_request()
3773 elr = NULL; in ext4_register_li_request()
3783 kfree(elr); in ext4_register_li_request()