Lines Matching refs:info
143 struct kmod_test_device_info *info; member
194 static void test_kmod_put_module(struct kmod_test_device_info *info) in test_kmod_put_module() argument
196 struct kmod_test_device *test_dev = info->test_dev; in test_kmod_put_module()
199 if (!info->need_mod_put) in test_kmod_put_module()
206 if (info->fs_sync && info->fs_sync->owner) in test_kmod_put_module()
207 module_put(info->fs_sync->owner); in test_kmod_put_module()
213 info->need_mod_put = true; in test_kmod_put_module()
218 struct kmod_test_device_info *info = data; in run_request() local
219 struct kmod_test_device *test_dev = info->test_dev; in run_request()
224 info->ret_sync = request_module("%s", config->test_driver); in run_request()
227 info->fs_sync = get_fs_type(config->test_fs); in run_request()
228 info->need_mod_put = true; in run_request()
236 dev_dbg(test_dev->dev, "Ran thread %u\n", info->thread_idx); in run_request()
238 test_kmod_put_module(info); in run_request()
241 info->task_sync = NULL; in run_request()
242 kmod_test_done_check(test_dev, info->thread_idx); in run_request()
248 static int tally_work_test(struct kmod_test_device_info *info) in tally_work_test() argument
250 struct kmod_test_device *test_dev = info->test_dev; in tally_work_test()
260 if (info->ret_sync != 0) in tally_work_test()
261 err_ret = info->ret_sync; in tally_work_test()
264 info->thread_idx, info->ret_sync); in tally_work_test()
268 if (!info->fs_sync) in tally_work_test()
271 info->thread_idx, info->fs_sync ? config->test_fs : in tally_work_test()
293 struct kmod_test_device_info *info; in tally_up_work() local
303 info = &test_dev->info[idx]; in tally_up_work()
304 ret = tally_work_test(info); in tally_up_work()
320 struct kmod_test_device_info *info = &test_dev->info[idx]; in try_one_request() local
325 info->thread_idx = idx; in try_one_request()
326 info->test_dev = test_dev; in try_one_request()
327 info->task_sync = kthread_run(run_request, info, "%s-%u", in try_one_request()
330 if (!info->task_sync || IS_ERR(info->task_sync)) { in try_one_request()
333 info->task_sync = NULL; in try_one_request()
343 info->ret_sync = fail_ret; in try_one_request()
352 struct kmod_test_device_info *info; in test_dev_kmod_stop_tests() local
360 info = &test_dev->info[i]; in test_dev_kmod_stop_tests()
361 if (info->task_sync && !IS_ERR(info->task_sync)) { in test_dev_kmod_stop_tests()
364 kthread_stop(info->task_sync); in test_dev_kmod_stop_tests()
374 if (info->task_sync && info->need_mod_put) in test_dev_kmod_stop_tests()
375 test_kmod_put_module(info); in test_dev_kmod_stop_tests()
766 vfree(test_dev->info); in free_test_dev_info()
767 test_dev->info = NULL; in free_test_dev_info()
775 test_dev->info = in kmod_config_sync_info()
778 if (!test_dev->info) in kmod_config_sync_info()