fio.git
22 months agoMerge branch 'master' of https://github.com/bvanassche/fio
Jens Axboe [Thu, 23 Jun 2022 14:20:22 +0000 (08:20 -0600)]
Merge branch 'master' of https://github.com/bvanassche/fio

* 'master' of https://github.com/bvanassche/fio:
  ci: Verify the Android build
  ci/travis-*: Fix shellcheck warnings

22 months agoci: Verify the Android build
Bart Van Assche [Wed, 22 Jun 2022 22:37:29 +0000 (15:37 -0700)]
ci: Verify the Android build

Let the continuous integration infrastructure verify the fio Android build
in order to detect regressions in the Android build quickly.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
22 months agoci/travis-*: Fix shellcheck warnings
Bart Van Assche [Thu, 23 Jun 2022 13:26:34 +0000 (06:26 -0700)]
ci/travis-*: Fix shellcheck warnings

Although these scripts are no longer used, fix the shellcheck warnings in
these scripts. This patch does not change any functionality.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
22 months agoconfigure: add option to disable xnvme build
Ankit Kumar [Wed, 22 Jun 2022 11:25:46 +0000 (16:55 +0530)]
configure: add option to disable xnvme build

Add option to disable xnvme build even if found.
Remove enable xnvme build option, as xnvme support
is already being probed.

Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
Link: https://lore.kernel.org/r/20220622112546.13503-2-ankit.kumar@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agogettime: fix whitespace damage
Jens Axboe [Sun, 19 Jun 2022 18:04:19 +0000 (12:04 -0600)]
gettime: fix whitespace damage

Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoMerge branch 'master' of https://github.com/useche/fio
Jens Axboe [Thu, 16 Jun 2022 00:38:41 +0000 (18:38 -0600)]
Merge branch 'master' of https://github.com/useche/fio

* 'master' of https://github.com/useche/fio:
  Init file_cache to invalid (maj, min)

22 months agoInit file_cache to invalid (maj, min)
Luis Useche [Wed, 15 Jun 2022 22:44:54 +0000 (15:44 -0700)]
Init file_cache to invalid (maj, min)

In the very unlikely case that the trace was taken from a device with
major and minor zeroes, the cache will wrongly hit the first time. We
are hitting this problem when trying to replay generated traces with
major and minor zeroes. Initializing with ~0U fixes this problem.

Signed-off-by: Luis Useche <useche@gmail.com>
22 months agoioengines: clean up latency accounting for 3 ioengines
Vincent Fu [Tue, 14 Jun 2022 15:58:29 +0000 (15:58 +0000)]
ioengines: clean up latency accounting for 3 ioengines

The librpma_apm_client, librpma_gpspm_client, and rdma ioengines have
commit functions that record submission latency. In order to avoid
setting issue_time twice add the FIO_ASYNCIO_SETS_ISSUE_TIME flag. Also
add code to update the iolog issue time when needed.

I don't have the means to test this patch.

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
Link: https://lore.kernel.org/r/20220614155822.307771-6-vincent.fu@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoioengines: update last_issue if we set issue_time
Vincent Fu [Tue, 14 Jun 2022 15:58:29 +0000 (15:58 +0000)]
ioengines: update last_issue if we set issue_time

If we're not updating issue_time it doesn't make sense to update
last_issue. We should also be updating last_issue in libaio and io_uring
when we record issue_time.

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
Link: https://lore.kernel.org/r/20220614155822.307771-5-vincent.fu@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoHOWTO: improve description of latency measures
Vincent Fu [Tue, 14 Jun 2022 15:58:29 +0000 (15:58 +0000)]
HOWTO: improve description of latency measures

- clarify how submission latency is calculated for async ioengines
- it is slat (not clat) that is near zero for sync ioengines
- Note that submission latency + completion latency = total latency

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
Link: https://lore.kernel.org/r/20220614155822.307771-4-vincent.fu@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoioengines: don't record issue_time if ioengines already do it
Vincent Fu [Tue, 14 Jun 2022 15:58:29 +0000 (15:58 +0000)]
ioengines: don't record issue_time if ioengines already do it

io_uring, io_uring_cmd, and libaio record issue_time inside the ioengine
code when their commit functions are called. So we don't need to record
issue_time again for these ioengines in td_io_queue.

If we do fill issue_time twice, then mean(slat) + mean(clat) !=
mean(lat):

user@ubuntu:~/fio-dev$ fio-canonical/fio --name=test --ioengine=io_uring --number_ios=1 --rw=randread --size=1M
test: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=io_uring, iodepth=1
fio-3.30-48-g26fa
Starting 1 process

test: (groupid=0, jobs=1): err= 0: pid=172145: Mon Jun  6 16:12:42 2022
  read: IOPS=1000, BW=4000KiB/s (4096kB/s)(4096B/1msec)
    slat (nsec): min=61424, max=61424, avg=61424.00, stdev= 0.00
    clat (nsec): min=242709, max=242709, avg=242709.00, stdev= 0.00
     lat (nsec): min=308346, max=308346, avg=308346.00, stdev= 0.00

61424 + 242709 = 304133 != 308346

If we fill issue_time only once, then the equality will hold (as it
should):

user@ubuntu:~/fio-dev$ fio-latency/fio --name=test --ioengine=io_uring --number_ios=1 --rw=randread --size=1M
test: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=io_uring, iodepth=1
fio-3.30-48-g26fa-dirty
Starting 1 process

test: (groupid=0, jobs=1): err= 0: pid=172220: Mon Jun  6 16:12:47 2022
  read: IOPS=1000, BW=4000KiB/s (4096kB/s)(4096B/1msec)
    slat (nsec): min=53701, max=53701, avg=53701.00, stdev= 0.00
    clat (nsec): min=259566, max=259566, avg=259566.00, stdev= 0.00
     lat (nsec): min=313267, max=313267, avg=313267.00, stdev= 0.00

53701 + 259566 = 313267

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
Link: https://lore.kernel.org/r/20220614155822.307771-3-vincent.fu@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoioengines: add helper for trims with async ioengines
Vincent Fu [Tue, 14 Jun 2022 15:58:29 +0000 (15:58 +0000)]
ioengines: add helper for trims with async ioengines

Async ioengines support trim commands but trims are synchronous
operations. We need to provide special handling when measuring latency
for these commands. Create a helper function to help us identify when an
async ioengine is issuing a sync trim command. This makes the code more
readable.

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
Link: https://lore.kernel.org/r/20220614155822.307771-2-vincent.fu@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoMerge branch 'master' of https://github.com/bvanassche/fio
Jens Axboe [Tue, 14 Jun 2022 00:14:26 +0000 (18:14 -0600)]
Merge branch 'master' of https://github.com/bvanassche/fio

* 'master' of https://github.com/bvanassche/fio:
  configure: Fix libzbc detection on SUSE Linux
  configure: Support gcc 12

22 months agoconfigure: Fix libzbc detection on SUSE Linux
Bart Van Assche [Mon, 13 Jun 2022 23:27:08 +0000 (16:27 -0700)]
configure: Fix libzbc detection on SUSE Linux

The path of the libzbc header file is /usr/include/libzbc/libzbc/zbc.h
instead of /usr/include/libzbc/zbc.h on SUSE Linux systems. Add support
for the SUSE libzbc include path.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
22 months agoconfigure: Support gcc 12
Bart Van Assche [Mon, 13 Jun 2022 23:18:09 +0000 (16:18 -0700)]
configure: Support gcc 12

Fix the following classes of errors reported by gcc 12:
* ${variable} may be used uninitialized.
* ${variable} is set but not used.
* argument 2 is null but the corresponding size argument 3 value is 1 [-Werror=nonnull]

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
22 months agot/zbd: skip test case #13 when max_open_zones is too small
Shin'ichiro Kawasaki [Thu, 2 Jun 2022 09:13:10 +0000 (18:13 +0900)]
t/zbd: skip test case #13 when max_open_zones is too small

Test case #13 of t/zbd/test-zbd-support fails when the test target
device has max_open_zones smaller than 4. To avoid the failure, add a
helper function require_max_open_zones and use it to skip the test case
when the device does not have required minimum max_open_zones.

Reported-by: Vincent Fu <vincent.fu@samsung.com>
Link: https://lore.kernel.org/fio/20220602015316.6ismlexb22fwd5ko@shindev/
Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Link: https://lore.kernel.org/r/20220602091310.97189-1-shinichiro.kawasaki@wdc.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoengines/nvme: ioctl return value is an int
Jens Axboe [Thu, 2 Jun 2022 09:57:22 +0000 (03:57 -0600)]
engines/nvme: ioctl return value is an int

Fix comparing an unsigned int to less than zero, it can never be true.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoengines/nvme: fix 'fd' leak in error handling
Jens Axboe [Thu, 2 Jun 2022 09:56:51 +0000 (03:56 -0600)]
engines/nvme: fix 'fd' leak in error handling

Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoengines/io_uring: cleanup supported case
Jens Axboe [Thu, 2 Jun 2022 08:22:36 +0000 (02:22 -0600)]
engines/io_uring: cleanup supported case

Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoexamples: add 2 example job file for io_uring_cmd engine
Anuj Gupta [Tue, 31 May 2022 13:31:55 +0000 (19:01 +0530)]
examples: add 2 example job file for io_uring_cmd engine

examples/uring-cmd-ng.fio has usage for conventional nvme-ns char device
examples/uring-cmd-zoned.fio has usage for ZNS nvme-ns char device

Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
Co-authored-by: Ankit Kumar <ankit.kumar@samsung.com>
Link: https://lore.kernel.org/r/20220531133155.17493-10-ankit.kumar@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoengines/io_uring: Enable zone device support for io_uring_cmd I/O engine
Ankit Kumar [Tue, 31 May 2022 13:31:54 +0000 (19:01 +0530)]
engines/io_uring: Enable zone device support for io_uring_cmd I/O engine

Add zone device specific ioengine_ops for io_uring_cmd.
* get_zoned_model
* report_zones
* reset_wp
* get_max_open_zones

Add the necessary NVMe ZNS specfication opcodes and structures. Add
helper functions to submit admin and I/O passthrough commands for these
new NVMe ZNS specific commands.

For write workload iodepth must be set to 1 as there is no IO scheduler

Tested-by: Vincent Fu <vincent.fu@samsung.com>
Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
Link: https://lore.kernel.org/r/20220531133155.17493-9-ankit.kumar@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agozbd: Check for direct flag only if its block device
Ankit Kumar [Tue, 31 May 2022 13:31:53 +0000 (19:01 +0530)]
zbd: Check for direct flag only if its block device

nvme-ns generic character devices currently do not support O_DIRECT flag.
Check for fio option for direct flag only if filetype is a block device.

t/zbd skip test case #1 for character devices as they don't require
direct I/O.

Tested-by: Vincent Fu <vincent.fu@samsung.com>
Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
Reviewed-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Link: https://lore.kernel.org/r/20220531133155.17493-8-ankit.kumar@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agodocs: document options for io_uring_cmd I/O engine
Ankit Kumar [Tue, 31 May 2022 13:31:52 +0000 (19:01 +0530)]
docs: document options for io_uring_cmd I/O engine

Update documentation with io_uring_cmd I/O engine specific options.
Add missing io_uring I/O engine entry from fio man page.
Update docs with missing io_uring engine specific options.

Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
Link: https://lore.kernel.org/r/20220531133155.17493-7-ankit.kumar@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoengines/io_uring: add new I/O engine for uring passthrough support
Anuj Gupta [Tue, 31 May 2022 13:31:51 +0000 (19:01 +0530)]
engines/io_uring: add new I/O engine for uring passthrough support

Add a new I/O engine (io_uring_cmd) for sending uring passthrough
commands. It will also use most of the existing helpers from the
I/O engine io_uring. The I/O preparation, completion, file open,
file close and post init paths are going to differ and hence
io_uring_cmd will have its own helper for them.

Add a new io_uring_cmd engine specific option to support nvme
passthrough commands. Filename name for this specific option
must specify nvme-ns generic character device (dev/ngXnY).
This provides io_uring_cmd I/O engine a bandwidth to support
various passthrough commands in future.

The engine_pos and engine_data fields in struct fio_file are
separated now. This will help I/O engine io_uring_cmd to store
specific data as well as keep track of register files.

Added a new option cmd_type. This specifies the type of uring
command to submit. Currently it only supports nvme uring command

Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
Co-authored-by: Ankit Kumar <ankit.kumar@samsung.com>
Link: https://lore.kernel.org/r/20220531133155.17493-6-ankit.kumar@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agonvme: add nvme opcodes, structures and helper functions
Ankit Kumar [Tue, 31 May 2022 13:31:50 +0000 (19:01 +0530)]
nvme: add nvme opcodes, structures and helper functions

Add NVMe specification opcodes, data structures and helper
functions to get identify namespace and form nvme uring command.

This will help the follow up patches to get nvme-ns generic
character device size, lba size.

Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
Co-authored-by: Anuj Gupta <anuj20.g@samsung.com>
Link: https://lore.kernel.org/r/20220531133155.17493-5-ankit.kumar@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoinit: return error incase an invalid value is passed as option
Anuj Gupta [Tue, 31 May 2022 13:31:49 +0000 (19:01 +0530)]
init: return error incase an invalid value is passed as option

Currently, fio exits incase an invalid value is passed as fio
option, but continues even if an invalid value is passed for
I/O engine specific options. Exit in that scenario.

Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
Link: https://lore.kernel.org/r/20220531133155.17493-4-ankit.kumar@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoconfigure: check nvme uring command support
Ankit Kumar [Tue, 31 May 2022 13:31:48 +0000 (19:01 +0530)]
configure: check nvme uring command support

Modify configure to check availability of nvme_uring_cmd, but only
when the target OS is Linux. This way in the follow up patch we
can define the missing structure to prevent compilation errors.

Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
Link: https://lore.kernel.org/r/20220531133155.17493-3-ankit.kumar@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoio_uring.h: add IORING_SETUP_SQE128 and IORING_SETUP_CQE32
Anuj Gupta [Tue, 31 May 2022 13:31:47 +0000 (19:01 +0530)]
io_uring.h: add IORING_SETUP_SQE128 and IORING_SETUP_CQE32

This asks the kernel to setup a ring with 128-byte SQE and
32-byte CQE entries. It may fail with -EINVAL if the kernel
doesn't support this feature. If the kernel does support this
feature, then the ring will support big-sqe/big-cqe entries
which some commands may require.

Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
Link: https://lore.kernel.org/r/20220531133155.17493-2-ankit.kumar@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agodocs: update language setting for Sphinx build
Vincent Fu [Tue, 31 May 2022 21:49:11 +0000 (21:49 +0000)]
docs: update language setting for Sphinx build

Sphinx 5.0.0 no longer accepts None for language. Remove it and Sphinx
will use English as the default and no longer emit a warning.

For details see https://github.com/sphinx-doc/sphinx/issues/10474

Sphinx warnings cause our documentation build on GitHub Actions to fail.
Failures were observed for recent macOS builds which upgraded to Sphinx
5.0.0.

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
Link: https://lore.kernel.org/r/20220531214857.169864-1-vincent.fu@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoMerge branch 'wip-lmy-rados' of https://github.com/liangmingyuanneo/fio
Jens Axboe [Sun, 29 May 2022 15:32:18 +0000 (09:32 -0600)]
Merge branch 'wip-lmy-rados' of https://github.com/liangmingyuanneo/fio

* 'wip-lmy-rados' of https://github.com/liangmingyuanneo/fio:
  engines/ceph: add option for setting config file path

22 months agoengines/ceph: add option for setting config file path
liangmingyuan [Thu, 26 May 2022 18:49:16 +0000 (02:49 +0800)]
engines/ceph: add option for setting config file path

Specifies the configuration path of ceph cluster on rados test, so
conf file does not have to be /etc/ceph/ceph.conf.
To set the option, adding the next line to global section of fio:
conf=path_to_ceph_config_file

Signed-off-by: Mingyuan Liang <liangmingyuan@baidu.com>
22 months agodocs: update discussion of huge page sizes
Vincent Fu [Tue, 24 May 2022 14:23:24 +0000 (14:23 +0000)]
docs: update discussion of huge page sizes

Note that the default huge page size is either 2 or 4 MiB, depending on
the platform. Also mention /sys/kernel/mm/hugepages/ as another place to
see the supported huge page sizes.

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
Link: https://lore.kernel.org/r/20220524142229.135808-6-vincent.fu@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agot/run-fio-tests: improve json data decoding
Vincent Fu [Tue, 24 May 2022 14:23:24 +0000 (14:23 +0000)]
t/run-fio-tests: improve json data decoding

Instead of skipping up to five lines, just skip everything until the
opening curly brace when trying to decode JSON data.

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
Link: https://lore.kernel.org/r/20220524142229.135808-5-vincent.fu@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoHOWTO: add blank line for prettier formatting
Vincent Fu [Tue, 24 May 2022 14:23:24 +0000 (14:23 +0000)]
HOWTO: add blank line for prettier formatting

There needs to be a blank line between the name of an option and its
description in order for the formatting to look nice at
https://fio.readthedocs.io/en/latest/fio_doc.html#cmdoption-arg-ignore-zone-limits,

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
Link: https://lore.kernel.org/r/20220524142229.135808-4-vincent.fu@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoconfigure: refer to zlib1g-dev package for zlib support
Vincent Fu [Tue, 24 May 2022 14:23:24 +0000 (14:23 +0000)]
configure: refer to zlib1g-dev package for zlib support

Recent Debian-based distributions provide zlib support in the zlib1g-dev
package.

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
Link: https://lore.kernel.org/r/20220524142229.135808-3-vincent.fu@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agosteadystate: delete incorrect comment
Vincent Fu [Tue, 24 May 2022 14:23:24 +0000 (14:23 +0000)]
steadystate: delete incorrect comment

Fio actually does not begin collecting steady state data until the
steady state ramp time has expired. Remove the comment that said steady
state data is collected from the start of the job.

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
Link: https://lore.kernel.org/r/20220524142229.135808-2-vincent.fu@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
22 months agoMerge branch 'master' of https://github.com/guoanwu/fio
Jens Axboe [Wed, 25 May 2022 12:30:06 +0000 (06:30 -0600)]
Merge branch 'master' of https://github.com/guoanwu/fio

* 'master' of https://github.com/guoanwu/fio:
  pmemblk.c: fix one logic bug - read always with write

23 months agopmemblk.c: fix one logic bug - read always with write
dennis.wu [Sat, 21 May 2022 15:27:35 +0000 (23:27 +0800)]
pmemblk.c: fix one logic bug - read always with write

logic issue,if read success and return 0, then pmemblk_write called as well:
if (io_u->ddir == DDIR_READ &&
  0 != pmemblk_read(pmb->pmb_pool, buf, off)) {
io_u->error = errno;
break;
} else if (0 != pmemblk_write(pmb->pmb_pool, buf, off)) {
io_u->error = errno;
break;
}

Signed-off-by: dennis.wu <dennis.wu@intel.com>
23 months agoMakefile: Suppress `-Wimplicit-fallthrough` when compiling `lex.yy`
Ammar Faizi [Thu, 12 May 2022 16:43:33 +0000 (23:43 +0700)]
Makefile: Suppress `-Wimplicit-fallthrough` when compiling `lex.yy`

lex.yy.c is an auto generated C file. When compiling with clang-15, we
got the following warning:

```
      CC lex.yy.o
  lex.yy.c:1444:5: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
                                  case EOB_ACT_END_OF_FILE:
                                  ^
  lex.yy.c:1444:5: note: insert '__attribute__((fallthrough));' to silence this warning
                                  case EOB_ACT_END_OF_FILE:
                                  ^
                                  __attribute__((fallthrough));
  lex.yy.c:1444:5: note: insert 'break;' to avoid fall-through
                                  case EOB_ACT_END_OF_FILE:
                                  ^
                                  break;
  1 warning generated.
```

There is nothing we can do to fix lex.yy.c since it's an auto generated
file. Fix this by appending `-Wno-implicit-fallthrough` when compiling
this file if we have `-Wimplicit-fallthrough` flag enabled.

Reviewed-by: Niklas Cassel <niklas.cassel@wdc.com>
Signed-off-by: Ammar Faizi <ammarfaizi2@gnuweeb.org>
Link: https://lore.kernel.org/r/20220512164333.46516-4-ammarfaizi2@gnuweeb.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
23 months agobackend: Fix indentation
Ammar Faizi [Thu, 12 May 2022 16:43:31 +0000 (23:43 +0700)]
backend: Fix indentation

Reviewed-by: Niklas Cassel <niklas.cassel@wdc.com>
Signed-off-by: Ammar Faizi <ammarfaizi2@gnuweeb.org>
Link: https://lore.kernel.org/r/20220512164333.46516-2-ammarfaizi2@gnuweeb.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
23 months agoexamples: add example job file for xnvme engine usage
Ankit Kumar [Wed, 11 May 2022 16:30:19 +0000 (22:00 +0530)]
examples: add example job file for xnvme engine usage

Co-Authored-By: Ankit Kumar <ankit.kumar@samsung.com>
Co-Authored-By: Simon A. F. Lund <simon.lund@samsung.com>
Link: https://lore.kernel.org/r/20220511163019.5608-4-ankit.kumar@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
23 months agodocs: documentation for xnvme ioengine
Ankit Kumar [Wed, 11 May 2022 16:30:18 +0000 (22:00 +0530)]
docs: documentation for xnvme ioengine

Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
Link: https://lore.kernel.org/r/20220511163019.5608-3-ankit.kumar@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
23 months agoengines/xnvme: add xnvme engine
Ankit Kumar [Wed, 11 May 2022 16:30:17 +0000 (22:00 +0530)]
engines/xnvme: add xnvme engine

This patch introduces a new fio engine to work with xNVMe >= 0.2.0.
xNVMe provides a user space library (libxnvme) to work with NVMe
devices. The NVMe driver being used by libxnvme is re-targetable and
can be any one of the GNU/Linux Kernel NVMe driver via libaio,
IOCTLs, io_uring, the SPDK NVMe driver, or your own custom NVMe driver.

For more info visit https://xnvme.io
https://github.com/OpenMPDK/xNVMe

Co-Authored-By: Ankit Kumar <ankit.kumar@samsung.com>
Co-Authored-By: Simon A. F. Lund <simon.lund@samsung.com>
Co-Authored-By: Mads Ynddal <m.ynddal@samsung.com>
Co-Authored-By: Michael Bang <mi.bang@samsung.com>
Co-Authored-By: Karl Bonde Torp <k.torp@samsung.com>
Co-Authored-By: Gurmeet Singh <gur.singh@samsung.com>
Co-Authored-By: Pierre Labat <plabat@micron.com>
Link: https://lore.kernel.org/r/20220511163019.5608-2-ankit.kumar@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
23 months agoMerge branch 'patch-1' of https://github.com/ferdnyc/fio
Jens Axboe [Sun, 1 May 2022 13:29:05 +0000 (07:29 -0600)]
Merge branch 'patch-1' of https://github.com/ferdnyc/fio

* 'patch-1' of https://github.com/ferdnyc/fio:
  README: Update Fedora pkg URL

23 months agoREADME: Update Fedora pkg URL
Frank Dana [Sun, 1 May 2022 08:07:34 +0000 (04:07 -0400)]
README: Update Fedora pkg URL

23 months agoMerge branch 'global_dedup' of https://github.com/bardavid/fio
Jens Axboe [Fri, 29 Apr 2022 22:30:50 +0000 (16:30 -0600)]
Merge branch 'global_dedup' of https://github.com/bardavid/fio

* 'global_dedup' of https://github.com/bardavid/fio:
  adding an example for dedupe_global usage and DRR testing
  Introducing support for generation of dedup buffers across jobs. The dedup buffers are spread evenly between the jobs that enabled the dedupe_global option

23 months agoadding an example for dedupe_global usage and DRR testing
Bar David [Thu, 28 Apr 2022 13:30:47 +0000 (16:30 +0300)]
adding an example for dedupe_global usage and DRR testing

Signed-off-by: Bar David <bardavvid@gmail.com>
23 months agoIntroducing support for generation of dedup buffers
Bar David [Sun, 24 Apr 2022 09:25:57 +0000 (12:25 +0300)]
Introducing support for generation of dedup buffers
across jobs. The dedup buffers are spread evenly
between the jobs that enabled the dedupe_global option

Note only dedupe_mode=working_set is supported.
Note compression is supported with the global dedup enabled

Signed-off-by: Bar David <bardavvid@gmail.com>
2 years agoMerge branch 'fix/json/strdup_memory_leak' of https://github.com/dpronin/fio
Jens Axboe [Sun, 17 Apr 2022 22:47:22 +0000 (16:47 -0600)]
Merge branch 'fix/json/strdup_memory_leak' of https://github.com/dpronin/fio

* 'fix/json/strdup_memory_leak' of https://github.com/dpronin/fio:
  updated logging of iops1, iops2, ratio in FioJobTest_iops_rate
  fixed bunch of memory leaks in json constructor

2 years agoupdated logging of iops1, iops2, ratio in FioJobTest_iops_rate
Denis Pronin [Sun, 17 Apr 2022 20:08:15 +0000 (23:08 +0300)]
updated logging of iops1, iops2, ratio in FioJobTest_iops_rate

log iops1 and iops2 upon reading json_data from results
log ratio as iops2 / iops1

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
2 years agofixed bunch of memory leaks in json constructor
Denis Pronin [Sun, 10 Apr 2022 12:41:47 +0000 (15:41 +0300)]
fixed bunch of memory leaks in json constructor

fixed memory leak produced by not freed string given by 'strdup' in
'json_object_add_value_string' function

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
2 years agoMerge branch 'fix/jobs_eta_memory_leak' of https://github.com/dpronin/fio
Jens Axboe [Sun, 17 Apr 2022 14:57:44 +0000 (08:57 -0600)]
Merge branch 'fix/jobs_eta_memory_leak' of https://github.com/dpronin/fio

* 'fix/jobs_eta_memory_leak' of https://github.com/dpronin/fio:
  use flist_first_entry instead of flist_entry applied to 'next' list item
  fixed memory leak of not freed jobs_eta in several cases

2 years agouse flist_first_entry instead of flist_entry applied to 'next' list item
Denis Pronin [Sun, 10 Apr 2022 12:22:46 +0000 (15:22 +0300)]
use flist_first_entry instead of flist_entry applied to 'next' list item

use flist_first_entry in 'handle_xmits' function

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
2 years agofixed memory leak of not freed jobs_eta in several cases
Denis Pronin [Sun, 10 Apr 2022 12:21:06 +0000 (15:21 +0300)]
fixed memory leak of not freed jobs_eta in several cases

used 'free' function in 'print_thread_status' and in
'show_thread_status_json' functions to free jobs_eta previously
allocated

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
2 years agoMerge branch 'fix/memory-leak' of https://github.com/dpronin/fio
Jens Axboe [Sun, 17 Apr 2022 13:23:59 +0000 (07:23 -0600)]
Merge branch 'fix/memory-leak' of https://github.com/dpronin/fio

* 'fix/memory-leak' of https://github.com/dpronin/fio:
  fixed possible and actual memory leaks

2 years agoMerge branch 'fix/remove-sudo-in-test-script' of https://github.com/dpronin/fio
Jens Axboe [Sun, 10 Apr 2022 21:18:42 +0000 (15:18 -0600)]
Merge branch 'fix/remove-sudo-in-test-script' of https://github.com/dpronin/fio

* 'fix/remove-sudo-in-test-script' of https://github.com/dpronin/fio:
  actions-full-test.sh, removed sudo from the script

2 years agoactions-full-test.sh, removed sudo from the script
Denis Pronin [Sat, 2 Apr 2022 08:46:47 +0000 (11:46 +0300)]
actions-full-test.sh, removed sudo from the script

the script might be called with 'sudo' from the call site, if required

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
2 years agofixed possible and actual memory leaks
Denis Pronin [Fri, 11 Mar 2022 12:13:46 +0000 (15:13 +0300)]
fixed possible and actual memory leaks

backend.c: release memory occupied by the parent process for options
ioengines.c: free_ioengine entry point is protected by 'assert' call
upon td and td->io_ops

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
2 years agoiolog: Use %llu for 64-bit
Jens Axboe [Fri, 8 Apr 2022 18:46:44 +0000 (12:46 -0600)]
iolog: Use %llu for 64-bit

The previous fix was a bit dump, we need %llu on 32-bit. Fi that and
the cast.

Fixes: 11cb686eeda8 ("iolog: fix warning for 32-bit compilation")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2 years agoiolog: fix warning for 32-bit compilation
Jens Axboe [Fri, 8 Apr 2022 18:32:12 +0000 (12:32 -0600)]
iolog: fix warning for 32-bit compilation

Cast the 64-bit value, we can't print it directly as %lu.

Fixes: e8cf24e570e0 ("iolog: add iolog_write for version 3")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2 years agoiolog: update man page for version 3
Mohamad Gebai [Thu, 7 Apr 2022 17:40:31 +0000 (10:40 -0700)]
iolog: update man page for version 3

Add documentation for iolog version 3, mainly the differences between
versions 2 and 3.

Signed-off-by: Mohamad Gebai <mogeb@fb.com>
Link: https://lore.kernel.org/r/20220407174031.599117-4-mogeb@fb.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2 years agoiolog: add iolog_write for version 3
Mohamad Gebai [Thu, 7 Apr 2022 17:40:30 +0000 (10:40 -0700)]
iolog: add iolog_write for version 3

Add timestamps to all actions for iolog version 3. Fio now generates iolog
files using version 3 by default, and only supports writing using that
version. Reading iolog v2 still works as expected.

Signed-off-by: Mohamad Gebai <mogeb@fb.com>
Link: https://lore.kernel.org/r/20220407174031.599117-3-mogeb@fb.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2 years agoiolog: add version 3 to support timestamp-based replay
Mohamad Gebai [Thu, 7 Apr 2022 17:40:29 +0000 (10:40 -0700)]
iolog: add version 3 to support timestamp-based replay

Version 3 format looks as follows:

    timestamp filename action offset length

All file and IO actions must have timestamps, including 'add'. The 'wait'
action is not allowed with version 3 so that we can leave all timing
functionality to timestamps.

Signed-off-by: Mohamad Gebai <mogeb@fb.com>
Link: https://lore.kernel.org/r/20220407174031.599117-2-mogeb@fb.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2 years agoFio 3.30 fio-3.30
Jens Axboe [Wed, 6 Apr 2022 23:10:00 +0000 (17:10 -0600)]
Fio 3.30

Signed-off-by: Jens Axboe <axboe@kernel.dk>
2 years agosmalloc: fix ptr address in redzone error message
Vincent Fu [Tue, 5 Apr 2022 17:32:49 +0000 (17:32 +0000)]
smalloc: fix ptr address in redzone error message

sfree_check_redzone is passed a pointer to the address of the *header*
of an allocated block. This does not match the address of any of the
buffers returned by smalloc. Adjust the value printed out to refer to
the address returned by smalloc associated with the header in question.
This makes debugging easier because it allows us to more easily identify
the buffer where over-/under-run occurred.

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2 years agoRename 'fallthrough' attribute to 'fio_fallthrough'
Jens Axboe [Wed, 30 Mar 2022 23:31:36 +0000 (17:31 -0600)]
Rename 'fallthrough' attribute to 'fio_fallthrough'

fallthrough is reserved in C++, so this causes issues with C++
programs pulling in the fio.h -> compiler.h header.

Rename it to something fio specific instead.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
2 years agoMerge branch 'status-interval-finished-jobs' of https://github.com/mmkayPL/fio
Jens Axboe [Tue, 29 Mar 2022 12:30:44 +0000 (06:30 -0600)]
Merge branch 'status-interval-finished-jobs' of https://github.com/mmkayPL/fio

* 'status-interval-finished-jobs' of https://github.com/mmkayPL/fio:
  Handle finished jobs when using status-interval

2 years agoHandle finished jobs when using status-interval
Kozlowski Mateusz [Tue, 29 Mar 2022 09:27:03 +0000 (11:27 +0200)]
Handle finished jobs when using status-interval

stat: When printing job stats with status-interval, don't keep adding values to
the total runtime if the jobs are already finished. This should fix the printing
of the intermediate runtime/average BW etc.

Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
2 years agoMerge branch 'master' of https://github.com/cccheng/fio
Jens Axboe [Mon, 28 Mar 2022 12:43:56 +0000 (06:43 -0600)]
Merge branch 'master' of https://github.com/cccheng/fio

* 'master' of https://github.com/cccheng/fio:
  Fix compile error of GCC 4

2 years agoFix compile error of GCC 4
Chung-Chiang Cheng [Mon, 28 Mar 2022 06:47:25 +0000 (14:47 +0800)]
Fix compile error of GCC 4

gcc-4.9.3 doesn't recognize __has_attribute(__fallthrough__) and reports
the following error.

  CC crc/crc32c-arm64.o
  In file included from crc/../os/../file.h:5:0,
                   from crc/../os/os-linux.h:32,
                   from crc/../os/os.h:39,
                   from crc/crc32c-arm64.c:2:
  crc/../os/../compiler/compiler.h:74:20: error: missing binary operator before token "("
  Makefile:501: recipe for target 'crc/crc32c-arm64.o' failed
  make: *** [crc/crc32c-arm64.o] Error 1

Signed-off-by: Chung-Chiang Cheng <cccheng@synology.com>
2 years agoMerge branch 'github-1372' of https://github.com/vincentkfu/fio
Jens Axboe [Thu, 24 Mar 2022 16:11:34 +0000 (10:11 -0600)]
Merge branch 'github-1372' of https://github.com/vincentkfu/fio

* 'github-1372' of https://github.com/vincentkfu/fio:
  io_u: produce bad offsets for some time_based jobs

2 years agoio_u: produce bad offsets for some time_based jobs
Vincent Fu [Wed, 23 Mar 2022 22:22:37 +0000 (18:22 -0400)]
io_u: produce bad offsets for some time_based jobs

Allow get_next_seq_offset to produce bad offsets for time_based jobs
when fio is accessing more than one file. Otherwise fio will not skip to
the next file once the current one is done.

Fixes: https://github.com/axboe/fio/issues/1372

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
2 years agoengines/null: use correct -include
Jens Axboe [Sun, 20 Mar 2022 15:31:20 +0000 (09:31 -0600)]
engines/null: use correct -include

Fixes: cef0a8357b3f ("engines/null: update external engine compilation")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2 years agoMerge branch 'master' of https://github.com/jnoc/fio
Jens Axboe [Sun, 20 Mar 2022 14:07:31 +0000 (08:07 -0600)]
Merge branch 'master' of https://github.com/jnoc/fio

* 'master' of https://github.com/jnoc/fio:
  Added citation.cff for easy APA/BibTeX citation directly from the Github repository

2 years agoAdded citation.cff for easy APA/BibTeX citation directly from the Github repository
Jonathon Carter [Sun, 20 Mar 2022 02:56:50 +0000 (02:56 +0000)]
Added citation.cff for easy APA/BibTeX citation directly from the Github repository

Signed-off-by: Jonathon Carter <hello@jcarter.uk>
2 years agoengines/null: update external engine compilation
Jens Axboe [Sun, 20 Mar 2022 13:22:33 +0000 (07:22 -0600)]
engines/null: update external engine compilation

Everything needs to include config-host.h, and make sure that the C++
side uses the right type for the queue op.

Fixes: https://github.com/axboe/fio/issues/1371
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2 years agoMerge branch 'flags-fix' of https://github.com/albertofaria/fio
Jens Axboe [Tue, 15 Mar 2022 23:21:41 +0000 (17:21 -0600)]
Merge branch 'flags-fix' of https://github.com/albertofaria/fio

* 'flags-fix' of https://github.com/albertofaria/fio:
  Properly encode engine flags in thread_data::flags

2 years agoProperly encode engine flags in thread_data::flags
Alberto Faria [Tue, 15 Mar 2022 21:06:39 +0000 (21:06 +0000)]
Properly encode engine flags in thread_data::flags

We have 16 engine flags and an 18-bit shift, so cast engine flags to
unsigned long long before shifting to avoid dropping
FIO_ASYNCIO_SYNC_TRIM and FIO_NO_OFFLOAD.

Also make thread_data::flags unsigned long long to ensure it fits all
flags even when longs are 32 bit, and fix TD_ENG_FLAG_MASK.

Signed-off-by: Alberto Faria <afaria@redhat.com>
2 years agot/dedupe: ensure that 'ret' is initialized
Jens Axboe [Fri, 11 Mar 2022 13:15:53 +0000 (06:15 -0700)]
t/dedupe: ensure that 'ret' is initialized

Fixes: 16b1e2456234 ("t/dedupe: handle errors more gracefully")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2 years agot/dedupe: handle errors more gracefully
Jens Axboe [Fri, 11 Mar 2022 12:09:20 +0000 (05:09 -0700)]
t/dedupe: handle errors more gracefully

Don't assert for a deflate error, properly check for it and pass it
back up the stack so we can abort the thread.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
2 years agoMerge branch 'fuzz-cleanup' of https://github.com/vincentkfu/fio
Jens Axboe [Fri, 11 Mar 2022 02:11:24 +0000 (19:11 -0700)]
Merge branch 'fuzz-cleanup' of https://github.com/vincentkfu/fio

* 'fuzz-cleanup' of https://github.com/vincentkfu/fio:
  fuzz: avoid building t/fuzz/parse_ini by default

2 years agot/io_uring: only enable sync if we have preadv2
Jens Axboe [Fri, 11 Mar 2022 02:09:56 +0000 (19:09 -0700)]
t/io_uring: only enable sync if we have preadv2

Signed-off-by: Jens Axboe <axboe@kernel.dk>
2 years agofuzz: avoid building t/fuzz/parse_ini by default
Vincent Fu [Fri, 11 Mar 2022 00:45:46 +0000 (19:45 -0500)]
fuzz: avoid building t/fuzz/parse_ini by default

With a vanilla build t/fuzz/parse_ini will segfault because the symbol
FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION is not defined. If the symbol
FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION is defined, fio won't tear down
shared memory on program termination. Not tearing down shared memory is
necessary for t/fuzz/parse_ini to work correctly.

Don't build t/fuzz/parse_ini unless CFLAGS contains
-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION.

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
2 years agoMerge branch 'improvement/enable-asan' of https://github.com/dpronin/fio
Jens Axboe [Fri, 11 Mar 2022 00:50:30 +0000 (17:50 -0700)]
Merge branch 'improvement/enable-asan' of https://github.com/dpronin/fio

* 'improvement/enable-asan' of https://github.com/dpronin/fio:
  ASAN enabling when configuring

Signed-off-by: Jens Axboe <axboe@kernel.dk>
2 years agoMerge branch 'improvement/prevent-sigsegv-when-dup-files' of https://github.com/dpron...
Jens Axboe [Fri, 11 Mar 2022 00:48:01 +0000 (17:48 -0700)]
Merge branch 'improvement/prevent-sigsegv-when-dup-files' of https://github.com/dpronin/fio

* 'improvement/prevent-sigsegv-when-dup-files' of https://github.com/dpronin/fio:
  improvements in dup_files function

2 years agoMerge branch 'refactoring/configure' of https://github.com/dpronin/fio
Jens Axboe [Fri, 11 Mar 2022 00:47:44 +0000 (17:47 -0700)]
Merge branch 'refactoring/configure' of https://github.com/dpronin/fio

* 'refactoring/configure' of https://github.com/dpronin/fio:
  configure script refactoring

2 years agoMerge branch 'master' of https://github.com/dpronin/fio
Jens Axboe [Fri, 11 Mar 2022 00:46:51 +0000 (17:46 -0700)]
Merge branch 'master' of https://github.com/dpronin/fio

* 'master' of https://github.com/dpronin/fio:
  fixed memory leak detected by ASAN

2 years agoASAN enabling when configuring
Denis Pronin [Thu, 10 Mar 2022 11:15:40 +0000 (14:15 +0300)]
ASAN enabling when configuring

introduced opportunity for a user to enable ASAN for the compiler
when calling 'configure' script using '--enable-asan' option

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
2 years agofixed memory leak detected by ASAN
Denis Pronin [Wed, 9 Mar 2022 16:41:45 +0000 (19:41 +0300)]
fixed memory leak detected by ASAN

release memory occupied for td->files for each thread_data
in the parent process

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
2 years agoimprovements in dup_files function
Denis Pronin [Thu, 10 Mar 2022 10:34:53 +0000 (13:34 +0300)]
improvements in dup_files function

cleared allocation of td->files when duplicating files,
call 'assert', before iterating over original thread_data,
that prevents possible segmentation fault when duplicating files

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
2 years agoconfigure script refactoring
Denis Pronin [Thu, 10 Mar 2022 10:16:41 +0000 (13:16 +0300)]
configure script refactoring

tabs are replaced by whitespaces in help page

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
2 years agoMerge branch 'master' of https://github.com/dpronin/fio
Jens Axboe [Wed, 9 Mar 2022 13:20:31 +0000 (06:20 -0700)]
Merge branch 'master' of https://github.com/dpronin/fio

* 'master' of https://github.com/dpronin/fio:
  - freeing job_sections array of strings upon freeing each its item in init.c

2 years agoMerge branch 'fix/asan-memleak-forkdata' of https://github.com/dpronin/fio
Jens Axboe [Wed, 9 Mar 2022 13:19:44 +0000 (06:19 -0700)]
Merge branch 'fix/asan-memleak-forkdata' of https://github.com/dpronin/fio

* 'fix/asan-memleak-forkdata' of https://github.com/dpronin/fio:
  - fixed memory leak in parent process detected by ASAN when forking and not freeing memory in the parent process allocated for fork_data

2 years agoMerge branch 'fix/asan-memleak' of https://github.com/dpronin/fio
Jens Axboe [Wed, 9 Mar 2022 13:18:42 +0000 (06:18 -0700)]
Merge branch 'fix/asan-memleak' of https://github.com/dpronin/fio

* 'fix/asan-memleak' of https://github.com/dpronin/fio:
  - fixed memory leak, which is happening when parsing options, claimed by ASAN

2 years ago- fixed memory leak in parent process detected by ASAN when forking and not freeing...
Denis Pronin [Wed, 9 Mar 2022 12:37:01 +0000 (15:37 +0300)]
- fixed memory leak in parent process detected by ASAN when forking and not freeing memory in the parent process allocated for fork_data

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
2 years ago- fixed memory leak, which is happening when parsing options, claimed by ASAN
Denis Pronin [Wed, 9 Mar 2022 11:53:43 +0000 (14:53 +0300)]
- fixed memory leak, which is happening when parsing options, claimed by ASAN

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
2 years ago- freeing job_sections array of strings upon freeing each its item in init.c
Denis Pronin [Wed, 9 Mar 2022 10:03:36 +0000 (13:03 +0300)]
- freeing job_sections array of strings upon freeing each its item in init.c

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
2 years agoMerge branch 'master' of https://github.com/dpronin/fio
Jens Axboe [Tue, 8 Mar 2022 23:42:37 +0000 (16:42 -0700)]
Merge branch 'master' of https://github.com/dpronin/fio

* 'master' of https://github.com/dpronin/fio:
  - fixed typo in configure script

2 years ago- fixed typo in configure script
Denis Pronin [Tue, 8 Mar 2022 17:34:25 +0000 (20:34 +0300)]
- fixed typo in configure script

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
2 years agoMakefile: get rid of fortify source
Jens Axboe [Mon, 7 Mar 2022 16:16:39 +0000 (09:16 -0700)]
Makefile: get rid of fortify source

Haven't seen anything useful come out of it.

Signed-off-by: Jens Axboe <axboe@kernel.dk>