All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fio:remove raw device support
@ 2021-08-03 17:23 Eric Sandeen
  2021-08-03 18:21 ` Jens Axboe
  0 siblings, 1 reply; 2+ messages in thread
From: Eric Sandeen @ 2021-08-03 17:23 UTC (permalink / raw)
  To: fio; +Cc: Jens Axboe

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>
---

This might be braindead, and it's compile-tested only. But I figured
I'd report the problem in the form of a patch, even if it's wrong. ;)

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



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] fio:remove raw device support
  2021-08-03 17:23 [PATCH] fio:remove raw device support Eric Sandeen
@ 2021-08-03 18:21 ` Jens Axboe
  0 siblings, 0 replies; 2+ messages in thread
From: Jens Axboe @ 2021-08-03 18:21 UTC (permalink / raw)
  To: Eric Sandeen, fio

On 8/3/21 11:23 AM, Eric Sandeen wrote:
> 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.

Thanks, applied.

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-08-03 18:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-03 17:23 [PATCH] fio:remove raw device support Eric Sandeen
2021-08-03 18:21 ` Jens Axboe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.