Jan Kara <jack@xxxxxxx> writes: > On Mon 05-09-16 23:39:54, Ted Tso wrote: >> Dmitry, thanks for the patch, and Jan, thanks for the review. >> >> This is what I've added to the ext4 tree, which should reflect all of >> the comments which Jan made. > > Hum, one comment still: > >> + if (down_read_trylock(&elr->lr_super->s_umount)) { >> + if (sb_start_write_trylock(elr->lr_super)) { >> + progress = 1; >> + /* >> + * We hold sb->s_umount, sb can not >> + * be removed from the list, it is >> + * now safe to drop li_list_mtx >> + */ >> + mutex_unlock(&eli->li_list_mtx); >> + err = ext4_run_li_request(elr); >> + sb_end_write(elr->lr_super); >> + mutex_lock(&eli->li_list_mtx); >> + n = pos->next; >> } >> + up_read((&elr->lr_super->s_umount)); >> + } >> + /* error, remove the lazy_init job */ >> + if (err) { >> + ext4_remove_li_request(elr); >> + continue; >> + } >> + if (!progress) { >> + elr->lr_next_sched = jiffies + >> + (prandom_u32() >> + % (EXT4_DEF_LI_MAX_START_DELAY * HZ)); >> + if (time_before(elr->lr_next_sched, >> + next_wakeup)) >> + next_wakeup = elr->lr_next_sched; >> } >> - >> - if (time_before(elr->lr_next_sched, next_wakeup)) >> - next_wakeup = elr->lr_next_sched; >> } > > ext4_run_li_request() can also update elr->lr_next_sched. So we need to > update next_wakeup even in progress == 1 case (i.e., I'd leave the update > of next_wakeup as is in the old code...). Otherwise the patch looks good. Yes. That is correct. Simply last hank shoul not be deleted. Theodore, please fold patch attached to original one.
Attachment:
signature.asc
Description: PGP signature
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index bf91679..9692bbf 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -2871,6 +2871,9 @@ cont_thread: next_wakeup)) next_wakeup = elr->lr_next_sched; } + + if (time_before(elr->lr_next_sched, next_wakeup)) + next_wakeup = elr->lr_next_sched; } mutex_unlock(&eli->li_list_mtx);
> > Honza > -- > Jan Kara <jack@xxxxxxxx> > SUSE Labs, CR > -- > To unsubscribe from this list: send the line "unsubscribe linux-ext4" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html