bcachefs: check the invalid parameter for perf test
The perf_test does not check the number of iterations and threads
when it is zero. If nr_thread is 0, the perf test will keep
waiting for wakekup. If iteration is 0, it will cause exception
of division by zero. This can be reproduced by:
echo "rand_insert 0 1" > /sys/fs/bcachefs/${uuid}/perf_test
or
echo "rand_insert 1 0" > /sys/fs/bcachefs/${uuid}/perf_test
Fixes: 1c6fdbd8f2
("bcachefs: Initial commit")
Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
93d53f1caf
commit
9bb33852f5
@ -809,6 +809,11 @@ int bch2_btree_perf_test(struct bch_fs *c, const char *testname,
|
|||||||
unsigned i;
|
unsigned i;
|
||||||
u64 time;
|
u64 time;
|
||||||
|
|
||||||
|
if (nr == 0 || nr_threads == 0) {
|
||||||
|
pr_err("nr of iterations or threads is not allowed to be 0");
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
atomic_set(&j.ready, nr_threads);
|
atomic_set(&j.ready, nr_threads);
|
||||||
init_waitqueue_head(&j.ready_wait);
|
init_waitqueue_head(&j.ready_wait);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user