aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Somers <asomers@FreeBSD.org>2019-06-20 14:13:10 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2022-07-11 11:52:46 +0200
commit8fe49db783fd0841296afaf0226f712bc5967f4b (patch)
treec6ede1f06477d4443283371b3cdbf42895c8bdf3
parentc42aaaea4fd0effa2ad7871045eeb59eb53fa507 (diff)
downloadnewlib-8fe49db783fd0841296afaf0226f712bc5967f4b.tar.gz
newlib-8fe49db783fd0841296afaf0226f712bc5967f4b.tar.bz2
newlib-8fe49db783fd0841296afaf0226f712bc5967f4b.zip
Add FIOBMAP2 ioctl
This ioctl exposes VOP_BMAP information to userland. It can be used by programs like fragmentation analyzers and optimized cp implementations. But I'm using it to test fusefs's VOP_BMAP implementation. The "2" in the name distinguishes it from the similar but incompatible FIBMAP ioctls in NetBSD and Linux. FIOBMAP2 differs from FIBMAP in that it uses a 64-bit block number instead of 32-bit, and it also returns runp and runb. Reviewed by: mckusick MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D20705
-rw-r--r--newlib/libc/sys/rtems/include/sys/filio.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/newlib/libc/sys/rtems/include/sys/filio.h b/newlib/libc/sys/rtems/include/sys/filio.h
index 868fe53c2..1a3fc4293 100644
--- a/newlib/libc/sys/rtems/include/sys/filio.h
+++ b/newlib/libc/sys/rtems/include/sys/filio.h
@@ -62,6 +62,13 @@ struct fiodgname_arg {
/* Handle lseek SEEK_DATA and SEEK_HOLE for holey file knowledge. */
#define FIOSEEKDATA _IOWR('f', 97, off_t) /* SEEK_DATA */
#define FIOSEEKHOLE _IOWR('f', 98, off_t) /* SEEK_HOLE */
+struct fiobmap2_arg {
+ int64_t bn;
+ int runp;
+ int runb;
+};
+/* Get the file's bmap info for the logical block bn */
+#define FIOBMAP2 _IOWR('f', 99, struct fiobmap2_arg)
#ifdef _KERNEL
#ifdef COMPAT_FREEBSD32