… | |
… | |
14 | http://msdn.microsoft.com/en-us/library/windows/desktop/aa364425%28v=vs.85%29.aspx |
14 | http://msdn.microsoft.com/en-us/library/windows/desktop/aa364425%28v=vs.85%29.aspx |
15 | http://msdn.microsoft.com/en-us/library/windows/desktop/aa364963%28v=vs.85%29.aspx |
15 | http://msdn.microsoft.com/en-us/library/windows/desktop/aa364963%28v=vs.85%29.aspx |
16 | http://msdn.microsoft.com/en-us/library/windows/desktop/aa364996%28v=vs.85%29.aspx |
16 | http://msdn.microsoft.com/en-us/library/windows/desktop/aa364996%28v=vs.85%29.aspx |
17 | http://msdn.microsoft.com/en-us/library/windows/desktop/aa364994%28v=vs.85%29.aspx |
17 | http://msdn.microsoft.com/en-us/library/windows/desktop/aa364994%28v=vs.85%29.aspx |
18 | TODO: extra socket/tcp constants &c? |
18 | TODO: extra socket/tcp constants &c? |
19 | TODO: http://lwn.net/Articles/593918/ SHMEM_SET_SEALS, SHMEM_GET_SEALS, SEAL_SHRINK, SEAL_GROW, SEAL_WRITE, int memfd_create(const char *name, u64 size, u64 flags);, MFD_CLOEXEC, int fd = open("/tmp", O_RDWR | O_TMPFILE | O_EXCL, S_IRWXU); |
|
|
20 | TODO: name_to_handle_At + open_by_handle_at = clone fds |
19 | TODO: name_to_handle_At + open_by_handle_at = clone fds |
21 | TODO: lchown |
20 | TODO: lchown |
22 | TODO: mount/umount2/MS_* flags |
21 | TODO: ioprio_get/set |
23 | |
22 | |
24 | TODO: rewrite rmtree et al. to support working directories (also speed them up) |
23 | TODO: rewrite rmtree et al. to support working directories (also speed them up) |
25 | TODO: maybe IO::AIO leaks fds when requests are cancelled? maybe initialise result to -1? |
24 | TODO: maybe IO::AIO leaks fds when requests are cancelled? maybe initialise result to -1? |
26 | TODO: aio_wd should use O_PATH on linux, due to lacking O_SEARCH (http://comments.gmane.org/gmane.linux.file-systems/33611) |
25 | TODO: aio_wd should use O_PATH on linux, due to lacking O_SEARCH (http://comments.gmane.org/gmane.linux.file-systems/33611) |
27 | http://www.openwall.com/lists/musl/2013/02/23/4 |
26 | http://www.openwall.com/lists/musl/2013/02/23/4 |
28 | TODO: maybe copy some hacks from PerlIOStdio_invalidate_fileno for faster close on certain platforms |
|
|
29 | TODO: copy_file_range, copy_file_range |
|
|
30 | TODO: FIDEDUPERANGE, file_ioctl.c |
27 | TODO: FIDEDUPERANGE, file_ioctl.c |
31 | TODO: mincore |
28 | TODO: mincore |
32 | TODO: SOCK_CLOEXEc etc. |
29 | TODO: SOCK_CLOEXEc etc. |
33 | TODO: unlinkat flags, linkat flags, statat, renameat2 flags |
30 | TODO: unlinkat flags, linkat flags, statat, renameat2 flags |
34 | TODO: https://kernelnewbies.org/Linux_4.11 |
31 | TODO: https://kernelnewbies.org/Linux_4.11 |
35 | TODO: define useful rules for [[$wd, $path], $path] &c and implement them |
32 | TODO: define useful rules for [[$wd, $path], $path] &c and implement them |
36 | TODO: https://github.com/coreutils/coreutils/blob/master/src/stat.c maybe IO::AIO::FSID |
33 | TODO: https://github.com/coreutils/coreutils/blob/master/src/stat.c maybe IO::AIO::FSID |
37 | TODO: mlock2, MLOCK_ONFAULT |
34 | TODO: mlock2, MLOCK_ONFAULT |
38 | TODO: dup3, pipe2, accept4 |
35 | TODO: dup3, pipe2, accept4 |
39 | TODO: dump config.log when automated testign and configure fails |
36 | TODO: dump config.log when automated testign and configure fails |
|
|
37 | TODO: ns time resolution in utime |
|
|
38 | TODO: statx |
|
|
39 | TODO: aio_fchdir/chdir? emulate chdirat? |
|
|
40 | TODO: rt-4.0.18-20109-1573826674-1229.126277-5-0@rt.cpan.org |
|
|
41 | TODO: aio_splice, aio_tee |
|
|
42 | TODO: copy_file_range |
|
|
43 | TODO: write more abpout the thread model, maybe bump some defaults? |
|
|
44 | TODO: io_uring, but it's so broken :/ |
|
|
45 | TODO: allow import of fds as aio_wd |
|
|
46 | TODO: close_range |
|
|
47 | TODO: move_mount, open_tree, fsmount, fspick, fsconfig, fsopen https://lwn.net/Articles/759499/ |
40 | |
48 | |
|
|
49 | - another workaround for the low-quality musl libc. |
|
|
50 | - test for umount seperately, as it is more portable. |
|
|
51 | - some low-quality posix attempts (openbsd, osx) declare the availability |
|
|
52 | of fexecve but then don't even bother to implemnent a stub. |
|
|
53 | |
|
|
54 | 4.79 Sun 25 Sep 2022 18:25:53 CEST |
|
|
55 | - the autoconf result of the mount check was not used, so it failed to |
|
|
56 | compile on most systems (reported by crackoff@tutanota.com). |
|
|
57 | - work around fedora not having a working C compiler setup by design |
|
|
58 | (reported by Paul Howarth). |
|
|
59 | |
|
|
60 | 4.78 Tue 06 Sep 2022 12:54:43 CEST |
|
|
61 | - add IO::AIO::mount and IO::AIO::umount. |
|
|
62 | - add a bunch of symbols from sys/mount.h. |
|
|
63 | |
|
|
64 | 4.77 Mon 05 Sep 2022 02:03:38 CEST |
|
|
65 | - add MFD_HUGETLB_2MB and MFD_HUGETLB_1GB constants. |
|
|
66 | - add fexecve. |
|
|
67 | - add lots of missing functions to @EXPORT_OK. |
|
|
68 | |
|
|
69 | 4.76 Tue Jul 27 20:45:01 CEST 2021 |
|
|
70 | - add autoconf test for siginfo_t, which is, of course, not |
|
|
71 | available on windows (reported by Peter Petky). |
|
|
72 | - disable syscalls on solaris, as perl seems to provide an |
|
|
73 | incompatible syscall prototype that clashes with sys/syscall.h. |
|
|
74 | - add MAP_FIXED_NOREPLACE, MAP_SHARED_VALIDATE, MAP_SYNC and |
|
|
75 | MAP_UNINITIALIZED. |
|
|
76 | |
|
|
77 | 4.75 Wed Dec 30 08:44:55 CET 2020 |
|
|
78 | - removed leftover debug output from treescan. |
|
|
79 | - added (but not documented) waitid-P_*, FSPICK_*, FSOPEN_*, |
|
|
80 | FSCONFIG_*, MOUNT_ATTR_* constants. |
|
|
81 | |
|
|
82 | 4.74 Tue Dec 29 16:19:28 CET 2020 |
|
|
83 | - added pidfd_open, pidfd_getfd and pidfd_send_signal functions. |
|
|
84 | - rework bin/treescan to avoid recursion. This fixes two bugs |
|
|
85 | where a deep directory traversal or a lot of command line |
|
|
86 | arguments could cause it to crash. |
|
|
87 | - added (but not documented) open_tree, AT_* and move_mount flags. |
|
|
88 | - support defining syscall numbers in gendef0. |
|
|
89 | |
|
|
90 | 4.73 Fri Dec 4 02:08:37 CET 2020 |
|
|
91 | - def0.h was not uptodate, running into musl problems |
|
|
92 | (reported by B Fraser). |
|
|
93 | - IO::AIO::splice and IO::AIO::tee didn't properly return |
|
|
94 | 64 bit values. |
|
|
95 | - added IO::AIO::accept4. |
|
|
96 | - add various F_SEAL related fcntl constants. |
|
|
97 | - removed experimental marker for fdlimit functions. |
|
|
98 | - fiemap now includes the last segment even if it overflows |
|
|
99 | the end offset, which is arguably the correct behaviour. |
|
|
100 | |
|
|
101 | 4.72 Wed Apr 3 04:56:03 CEST 2019 |
|
|
102 | - (libeio) if fd 0 is available do not use it for aio_wd, as it |
|
|
103 | collides with IO::AIO::CWD. |
|
|
104 | - added IO::AIO::memfd_create. |
|
|
105 | - correctly include <sys/uio.h> in the vmsplice test. |
|
|
106 | - reduce codesize by ~7% on amd64 by declaring more functions |
|
|
107 | as noinline. |
|
|
108 | - documentation fixes and updates. |
|
|
109 | - experimental and undocumented preliminary support for synchronous statx. |
|
|
110 | |
|
|
111 | 4.71 Sun Mar 10 13:09:26 CET 2019 |
|
|
112 | - due to an error in the linux manpages, the configure tests |
|
|
113 | for readahead, sync_file_range, splice etc. failed. This has been fixed. |
|
|
114 | |
|
|
115 | 4.7 Mon Mar 4 11:28:13 CET 2019 |
|
|
116 | - majorly speed up scandir for the very special case of a non-POSIX |
|
|
117 | filesystem that nevertheless reports valid dt_type information. |
|
|
118 | The only known filesystem of this type is currently btrfs, which |
|
|
119 | didn't get it's act together to implement POSIX semantics in all |
|
|
120 | these years, and I am tired of waiting. |
|
|
121 | - add IO::AIO::MCL_ONFAULT for mlockall, add IO::AIO::mlockall. |
|
|
122 | - neither sys/mkdev.h nor sys/sysmacros.h were included, even when they |
|
|
123 | were detected by autoconf. |
|
|
124 | |
|
|
125 | 4.6 Sat Aug 25 21:58:36 CEST 2018 |
41 | - add st_btime, st_btimesec, st_btimensec and st_gen accessors, |
126 | - add st_btime, st_btimesec, st_btimensec and st_gen accessors, |
42 | mostly for bsds which expose birthtime and st_gen members (netbsd, freebsd |
127 | mostly for bsds which expose birthtime and st_gen members (netbsd, freebsd |
43 | but only st_gen on openbsd because they compiled their perl without support |
128 | but only st_gen on openbsd because they compiled their perl without support |
44 | for birthtimes). |
129 | for birthtimes). |
45 | - fix madvise and munlock to properly support negative offsets. |
130 | - fix madvise and munlock to properly support negative offsets. |
… | |
… | |
48 | close-on-exec race issues after module load. |
133 | close-on-exec race issues after module load. |
49 | - #undef utime on win32, maybe this helps some reports of utime hangs. |
134 | - #undef utime on win32, maybe this helps some reports of utime hangs. |
50 | - minor doc improvements. |
135 | - minor doc improvements. |
51 | - minor configure cleanups. |
136 | - minor configure cleanups. |
52 | - use $Config{perllibs} instead of libs for configure. might help people |
137 | - use $Config{perllibs} instead of libs for configure. might help people |
53 | who didn'T install all perl dependencies (might break things as well). |
138 | who didn't install all perl dependencies (might break things as well). |
54 | |
139 | |
55 | 4.54 Tue Aug 14 13:54:48 CEST 2018 |
140 | 4.54 Tue Aug 14 13:54:48 CEST 2018 |
56 | - include sys/mkdev.h or sys/sysmacros.h if available. |
141 | - include sys/mkdev.h or sys/sysmacros.h if available. |
57 | - further tweaks to configure invocation for systems requiring --rpath. |
142 | - further tweaks to configure invocation for systems requiring --rpath. |
58 | - no longer rely on custom paths on win32 platforms. |
143 | - no longer rely on custom paths on win32 platforms. |