[JFFS2] Reschedule in loops

Make JFFS2 nicer and teach it to call cond_resched() in loops
which may be quite large.

Signed-off-by: Artem Bityutskiy <dedekind@infradead.org>

+4
+2
fs/jffs2/scan.c
··· 139 for (i=0; i<c->nr_blocks; i++) { 140 struct jffs2_eraseblock *jeb = &c->blocks[i]; 141 142 /* reset summary info for next eraseblock scan */ 143 jffs2_sum_reset_collected(s); 144
··· 139 for (i=0; i<c->nr_blocks; i++) { 140 struct jffs2_eraseblock *jeb = &c->blocks[i]; 141 142 + cond_resched(); 143 + 144 /* reset summary info for next eraseblock scan */ 145 jffs2_sum_reset_collected(s); 146
+2
fs/jffs2/summary.c
··· 396 for (i=0; i<je32_to_cpu(summary->sum_num); i++) { 397 dbg_summary("processing summary index %d\n", i); 398 399 /* Make sure there's a spare ref for dirty space */ 400 err = jffs2_prealloc_raw_node_refs(c, jeb, 2); 401 if (err)
··· 396 for (i=0; i<je32_to_cpu(summary->sum_num); i++) { 397 dbg_summary("processing summary index %d\n", i); 398 399 + cond_resched(); 400 + 401 /* Make sure there's a spare ref for dirty space */ 402 err = jffs2_prealloc_raw_node_refs(c, jeb, 2); 403 if (err)