X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=engines%2Frdma.c;h=ea1af2ba5dffdd7ae62df40341fe597b0fccfe94;hp=e1fb380a044c6680ee03e4b2a526164495a6aaf7;hb=38b9354a7a9bf124589475c5d16c1b7c692c9b57;hpb=6264c7a8ddd0998f371604c227d3aea491922681 diff --git a/engines/rdma.c b/engines/rdma.c index e1fb380a..ea1af2ba 100644 --- a/engines/rdma.c +++ b/engines/rdma.c @@ -36,7 +36,6 @@ #include #include -#include #include #include @@ -1013,26 +1012,11 @@ static int fio_rdmaio_setup_listen(struct thread_data *td, short port) return 0; } -static int fio_rdmaio_init(struct thread_data *td) +static int check_set_rlimits(struct thread_data *td) { - struct rdmaio_data *rd = td->io_ops->data; - struct flist_head *entry; - unsigned int max_bs; - unsigned int port; - char host[64], buf[128]; - char *sep, *portp, *modep; - int ret, i = 0; +#ifdef CONFIG_RLIMIT_MEMLOCK struct rlimit rl; - if (td_rw(td)) { - log_err("fio: rdma connections must be read OR write\n"); - return 1; - } - if (td_random(td)) { - log_err("fio: RDMA network IO can't be random\n"); - return 1; - } - /* check RLIMIT_MEMLOCK */ if (getrlimit(RLIMIT_MEMLOCK, &rl) != 0) { log_err("fio: getrlimit fail: %d(%s)\n", @@ -1057,6 +1041,32 @@ static int fio_rdmaio_init(struct thread_data *td) return 1; } } +#endif + + return 0; +} + +static int fio_rdmaio_init(struct thread_data *td) +{ + struct rdmaio_data *rd = td->io_ops->data; + struct flist_head *entry; + unsigned int max_bs; + unsigned int port; + char host[64], buf[128]; + char *sep, *portp, *modep; + int ret, i = 0; + + if (td_rw(td)) { + log_err("fio: rdma connections must be read OR write\n"); + return 1; + } + if (td_random(td)) { + log_err("fio: RDMA network IO can't be random\n"); + return 1; + } + + if (check_set_rlimits(td)) + return 1; strcpy(buf, td->o.filename);