Lines Matching refs:c
27 void jffs2_garbage_collect_trigger(struct jffs2_sb_info *c) in jffs2_garbage_collect_trigger() argument
29 assert_spin_locked(&c->erase_completion_lock); in jffs2_garbage_collect_trigger()
30 if (c->gc_task && jffs2_thread_should_wake(c)) in jffs2_garbage_collect_trigger()
31 send_sig(SIGHUP, c->gc_task, 1); in jffs2_garbage_collect_trigger()
35 int jffs2_start_garbage_collect_thread(struct jffs2_sb_info *c) in jffs2_start_garbage_collect_thread() argument
40 BUG_ON(c->gc_task); in jffs2_start_garbage_collect_thread()
42 init_completion(&c->gc_thread_start); in jffs2_start_garbage_collect_thread()
43 init_completion(&c->gc_thread_exit); in jffs2_start_garbage_collect_thread()
45 tsk = kthread_run(jffs2_garbage_collect_thread, c, "jffs2_gcd_mtd%d", c->mtd->index); in jffs2_start_garbage_collect_thread()
49 complete(&c->gc_thread_exit); in jffs2_start_garbage_collect_thread()
54 wait_for_completion(&c->gc_thread_start); in jffs2_start_garbage_collect_thread()
61 void jffs2_stop_garbage_collect_thread(struct jffs2_sb_info *c) in jffs2_stop_garbage_collect_thread() argument
64 spin_lock(&c->erase_completion_lock); in jffs2_stop_garbage_collect_thread()
65 if (c->gc_task) { in jffs2_stop_garbage_collect_thread()
66 jffs2_dbg(1, "Killing GC task %d\n", c->gc_task->pid); in jffs2_stop_garbage_collect_thread()
67 send_sig(SIGKILL, c->gc_task, 1); in jffs2_stop_garbage_collect_thread()
70 spin_unlock(&c->erase_completion_lock); in jffs2_stop_garbage_collect_thread()
72 wait_for_completion(&c->gc_thread_exit); in jffs2_stop_garbage_collect_thread()
77 struct jffs2_sb_info *c = _c; in jffs2_garbage_collect_thread() local
86 c->gc_task = current; in jffs2_garbage_collect_thread()
87 complete(&c->gc_thread_start); in jffs2_garbage_collect_thread()
95 spin_lock(&c->erase_completion_lock); in jffs2_garbage_collect_thread()
96 if (!jffs2_thread_should_wake(c)) { in jffs2_garbage_collect_thread()
98 spin_unlock(&c->erase_completion_lock); in jffs2_garbage_collect_thread()
102 spin_unlock(&c->erase_completion_lock); in jffs2_garbage_collect_thread()
158 if (jffs2_garbage_collect_pass(c) == -ENOSPC) { in jffs2_garbage_collect_thread()
164 spin_lock(&c->erase_completion_lock); in jffs2_garbage_collect_thread()
165 c->gc_task = NULL; in jffs2_garbage_collect_thread()
166 spin_unlock(&c->erase_completion_lock); in jffs2_garbage_collect_thread()
167 complete_and_exit(&c->gc_thread_exit, 0); in jffs2_garbage_collect_thread()