diff options
| author | Alan Somers <asomers@FreeBSD.org> | 2019-06-20 14:13:10 +0000 |
|---|---|---|
| committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-07-11 11:52:46 +0200 |
| commit | 8fe49db783fd0841296afaf0226f712bc5967f4b (patch) | |
| tree | c6ede1f06477d4443283371b3cdbf42895c8bdf3 | |
| parent | c42aaaea4fd0effa2ad7871045eeb59eb53fa507 (diff) | |
| download | newlib-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.h | 7 |
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 |
