New upstream release v3.28
This commit is contained in:
parent
ca502cbcf7
commit
681e311416
2
.gitignore
vendored
2
.gitignore
vendored
@ -28,3 +28,5 @@
|
|||||||
/fio-3.26.tar.bz2
|
/fio-3.26.tar.bz2
|
||||||
/fio-3.27.tar.bz2
|
/fio-3.27.tar.bz2
|
||||||
/fio-3.27.tar.bz2.asc
|
/fio-3.27.tar.bz2.asc
|
||||||
|
/fio-3.28.tar.bz2
|
||||||
|
/fio-3.28.tar.bz2.asc
|
||||||
|
@ -1,133 +0,0 @@
|
|||||||
From 382975557e632efb506836bc1709789e615c9094 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Eric Sandeen <esandeen@redhat.com>
|
|
||||||
Date: Tue, 3 Aug 2021 10:23:35 -0700
|
|
||||||
Subject: [PATCH] fio: remove raw device support
|
|
||||||
|
|
||||||
As of Linux kernel commit 603e4922f1c ("remove the raw driver"),
|
|
||||||
linux/raw.h is gone, and raw device support no longer exists.
|
|
||||||
Because of this, fio can no longer build against the current Linux
|
|
||||||
kernel headers.
|
|
||||||
|
|
||||||
So, remove raw device support from fio as well.
|
|
||||||
|
|
||||||
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
|
|
||||||
Signed-off-by: Jens Axboe <axboe@kernel.dk>
|
|
||||||
---
|
|
||||||
diskutil.c | 10 +++-------
|
|
||||||
fio.1 | 4 +---
|
|
||||||
os/os-linux.h | 32 --------------------------------
|
|
||||||
os/os.h | 4 ----
|
|
||||||
4 files changed, 4 insertions(+), 46 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/diskutil.c b/diskutil.c
|
|
||||||
index 0051a7a0..ace7af3d 100644
|
|
||||||
--- a/diskutil.c
|
|
||||||
+++ b/diskutil.c
|
|
||||||
@@ -166,14 +166,10 @@ static int get_device_numbers(char *file_name, int *maj, int *min)
|
|
||||||
if (S_ISBLK(st.st_mode)) {
|
|
||||||
majdev = major(st.st_rdev);
|
|
||||||
mindev = minor(st.st_rdev);
|
|
||||||
- } else if (S_ISCHR(st.st_mode)) {
|
|
||||||
- majdev = major(st.st_rdev);
|
|
||||||
- mindev = minor(st.st_rdev);
|
|
||||||
- if (fio_lookup_raw(st.st_rdev, &majdev, &mindev))
|
|
||||||
- return -1;
|
|
||||||
- } else if (S_ISFIFO(st.st_mode))
|
|
||||||
+ } else if (S_ISCHR(st.st_mode) ||
|
|
||||||
+ S_ISFIFO(st.st_mode)) {
|
|
||||||
return -1;
|
|
||||||
- else {
|
|
||||||
+ } else {
|
|
||||||
majdev = major(st.st_dev);
|
|
||||||
mindev = minor(st.st_dev);
|
|
||||||
}
|
|
||||||
diff --git a/fio.1 b/fio.1
|
|
||||||
index 6cc82542..9c12ad13 100644
|
|
||||||
--- a/fio.1
|
|
||||||
+++ b/fio.1
|
|
||||||
@@ -1700,9 +1700,7 @@ Sets size to something really large and waits for ENOSPC (no space left on
|
|
||||||
device) or EDQUOT (disk quota exceeded)
|
|
||||||
as the terminating condition. Only makes sense with sequential
|
|
||||||
write. For a read workload, the mount point will be filled first then I/O
|
|
||||||
-started on the result. This option doesn't make sense if operating on a raw
|
|
||||||
-device node, since the size of that is already known by the file system.
|
|
||||||
-Additionally, writing beyond end-of-device will not return ENOSPC there.
|
|
||||||
+started on the result.
|
|
||||||
.SS "I/O engine"
|
|
||||||
.TP
|
|
||||||
.BI ioengine \fR=\fPstr
|
|
||||||
diff --git a/os/os-linux.h b/os/os-linux.h
|
|
||||||
index f7137abe..16ed5258 100644
|
|
||||||
--- a/os/os-linux.h
|
|
||||||
+++ b/os/os-linux.h
|
|
||||||
@@ -14,7 +14,6 @@
|
|
||||||
#include <errno.h>
|
|
||||||
#include <sched.h>
|
|
||||||
#include <linux/unistd.h>
|
|
||||||
-#include <linux/raw.h>
|
|
||||||
#include <linux/major.h>
|
|
||||||
#include <linux/fs.h>
|
|
||||||
#include <scsi/sg.h>
|
|
||||||
@@ -41,7 +40,6 @@
|
|
||||||
#define FIO_HAVE_IOSCHED_SWITCH
|
|
||||||
#define FIO_HAVE_ODIRECT
|
|
||||||
#define FIO_HAVE_HUGETLB
|
|
||||||
-#define FIO_HAVE_RAWBIND
|
|
||||||
#define FIO_HAVE_BLKTRACE
|
|
||||||
#define FIO_HAVE_CL_SIZE
|
|
||||||
#define FIO_HAVE_CGROUPS
|
|
||||||
@@ -178,36 +176,6 @@ static inline unsigned long long os_phys_mem(void)
|
|
||||||
return (unsigned long long) pages * (unsigned long long) pagesize;
|
|
||||||
}
|
|
||||||
|
|
||||||
-static inline int fio_lookup_raw(dev_t dev, int *majdev, int *mindev)
|
|
||||||
-{
|
|
||||||
- struct raw_config_request rq;
|
|
||||||
- int fd;
|
|
||||||
-
|
|
||||||
- if (major(dev) != RAW_MAJOR)
|
|
||||||
- return 1;
|
|
||||||
-
|
|
||||||
- /*
|
|
||||||
- * we should be able to find /dev/rawctl or /dev/raw/rawctl
|
|
||||||
- */
|
|
||||||
- fd = open("/dev/rawctl", O_RDONLY);
|
|
||||||
- if (fd < 0) {
|
|
||||||
- fd = open("/dev/raw/rawctl", O_RDONLY);
|
|
||||||
- if (fd < 0)
|
|
||||||
- return 1;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- rq.raw_minor = minor(dev);
|
|
||||||
- if (ioctl(fd, RAW_GETBIND, &rq) < 0) {
|
|
||||||
- close(fd);
|
|
||||||
- return 1;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- close(fd);
|
|
||||||
- *majdev = rq.block_major;
|
|
||||||
- *mindev = rq.block_minor;
|
|
||||||
- return 0;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
#ifdef O_NOATIME
|
|
||||||
#define FIO_O_NOATIME O_NOATIME
|
|
||||||
#else
|
|
||||||
diff --git a/os/os.h b/os/os.h
|
|
||||||
index e47d3d97..17daf91d 100644
|
|
||||||
--- a/os/os.h
|
|
||||||
+++ b/os/os.h
|
|
||||||
@@ -157,10 +157,6 @@ extern int fio_cpus_split(os_cpu_mask_t *mask, unsigned int cpu);
|
|
||||||
#define OS_RAND_MAX RAND_MAX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#ifndef FIO_HAVE_RAWBIND
|
|
||||||
-#define fio_lookup_raw(dev, majdev, mindev) 1
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
#ifndef FIO_PREFERRED_ENGINE
|
|
||||||
#define FIO_PREFERRED_ENGINE "psync"
|
|
||||||
#endif
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
|||||||
From 2459bd33b3dbb7a34f28c612d595311a6bc7593d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Vincent Fu <vincent.fu@samsung.com>
|
|
||||||
Date: Wed, 4 Aug 2021 18:29:05 +0000
|
|
||||||
Subject: [PATCH] ioengines: fix crash with --enghelp option
|
|
||||||
|
|
||||||
Since f6931a1dd35896433c8cc2e10de51372a2c496c4 commands like the
|
|
||||||
following segfault:
|
|
||||||
|
|
||||||
fio --enghelp=sg
|
|
||||||
fio --enghelp=sg,sg_write_mode
|
|
||||||
|
|
||||||
This is because free_ioengine() assumes that td->io_ops is not NULL.
|
|
||||||
Make this true when free_ioengine() is called by
|
|
||||||
fio_show_ioengine_help() to avoid the crash.
|
|
||||||
|
|
||||||
Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
|
|
||||||
Signed-off-by: Jens Axboe <axboe@kernel.dk>
|
|
||||||
---
|
|
||||||
ioengines.c | 10 +++++-----
|
|
||||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/ioengines.c b/ioengines.c
|
|
||||||
index dd61af07..d08a511a 100644
|
|
||||||
--- a/ioengines.c
|
|
||||||
+++ b/ioengines.c
|
|
||||||
@@ -692,17 +692,17 @@ int fio_show_ioengine_help(const char *engine)
|
|
||||||
}
|
|
||||||
|
|
||||||
td.o.ioengine = (char *)engine;
|
|
||||||
- io_ops = load_ioengine(&td);
|
|
||||||
+ td.io_ops = load_ioengine(&td);
|
|
||||||
|
|
||||||
- if (!io_ops) {
|
|
||||||
+ if (!td.io_ops) {
|
|
||||||
log_info("IO engine %s not found\n", engine);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (io_ops->options)
|
|
||||||
- ret = show_cmd_help(io_ops->options, sep);
|
|
||||||
+ if (td.io_ops->options)
|
|
||||||
+ ret = show_cmd_help(td.io_ops->options, sep);
|
|
||||||
else
|
|
||||||
- log_info("IO engine %s has no options\n", io_ops->name);
|
|
||||||
+ log_info("IO engine %s has no options\n", td.io_ops->name);
|
|
||||||
|
|
||||||
free_ioengine(&td);
|
|
||||||
return ret;
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
10
fio.spec
10
fio.spec
@ -1,6 +1,6 @@
|
|||||||
Name: fio
|
Name: fio
|
||||||
Version: 3.27
|
Version: 3.28
|
||||||
Release: 3%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Multithreaded IO generation tool
|
Summary: Multithreaded IO generation tool
|
||||||
|
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
@ -9,9 +9,6 @@ Source0: http://brick.kernel.dk/snaps/%{name}-%{version}.tar.bz2
|
|||||||
Source1: https://brick.kernel.dk/snaps/%{name}-%{version}.tar.bz2.asc
|
Source1: https://brick.kernel.dk/snaps/%{name}-%{version}.tar.bz2.asc
|
||||||
Source2: https://git.kernel.org/pub/scm/docs/kernel/pgpkeys.git/plain/keys/F7D358FB2971E0A6.asc
|
Source2: https://git.kernel.org/pub/scm/docs/kernel/pgpkeys.git/plain/keys/F7D358FB2971E0A6.asc
|
||||||
|
|
||||||
Patch0: 0001-fio-remove-raw-device-support.patch
|
|
||||||
Patch1: 0001-ioengines-fix-crash-with-enghelp-option.patch
|
|
||||||
|
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gnupg2
|
BuildRequires: gnupg2
|
||||||
BuildRequires: libaio-devel
|
BuildRequires: libaio-devel
|
||||||
@ -214,6 +211,9 @@ make install prefix=%{_prefix} mandir=%{_mandir} libdir=%{_libdir}/fio DESTDIR=$
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Sep 092021 Eric Sandeen <sandeen@redhat.com> 3.28-1
|
||||||
|
- New upstream version
|
||||||
|
|
||||||
* Mon Aug 23 2021 Eric Sandeen <sandeen@redhat.com> 3.27-3
|
* Mon Aug 23 2021 Eric Sandeen <sandeen@redhat.com> 3.27-3
|
||||||
- Fix FTBFS for new kernel headers (raw device support is gone)
|
- Fix FTBFS for new kernel headers (raw device support is gone)
|
||||||
- Fix crash with --enghelp option
|
- Fix crash with --enghelp option
|
||||||
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
|||||||
SHA512 (fio-3.27.tar.bz2) = 9c5f2ab0c9ac24ab78dbc74fb6c5acd60f8189fdc618f4280992141b6c0abe1c235c373fee18ad0c803e7fb25d480f45aec56dc3be2e0d26d181b3418b179f99
|
SHA512 (fio-3.28.tar.bz2) = 1f6d125ad22bfb5b64e850c8efa220a8d9bed3ec5294323fdbb74321f8ba23f3e13e8d98a14be82851ee2d9704846a1d1d5ce256859b21fdffaed193a9210318
|
||||||
SHA512 (fio-3.27.tar.bz2.asc) = 958cc9fac3e55975c82d8ae166be35978854b68b821e137b92132cc1ea991f9cd1b48f7536cecc65876e82b9632a1b47eb3affbe1771d307bc175dcc774d2174
|
SHA512 (fio-3.28.tar.bz2.asc) = 34c17f27546eabfc57b14698bddce5a2d59f6ad575e1c6bbdcc9e518a772a2e9d67ddf5ea378e91d8f916cb861970183d20c6627f8f04d9b0826ae979795731b
|
||||||
|
Loading…
Reference in New Issue
Block a user