Auke Kok
77b8d3cb7e
Remove format-version 1 test.
...
Only el7 was capable of testing this formatversion. And there
no longer is el7 support. Remove the test.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
77156d695f
Remove list_lru_walk_* el7 compat.
...
The original patch added compat for both el7 and higher kernels,
so this just drops the el7 parts.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
9f6d46ab66
Remove list_lru_shrink_count() and list_lru_shrink_walk() compat for el7
...
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
0b669980d0
Remove .remap_pages method for el7
...
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
99eb9c2c45
Remove kc_inode_dio_end compat for el7.
...
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
2ce496167c
Remove __kernel_old_timeval compat for el7.
...
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
e7c8881ca4
Remove KC_XATTR_HANDLER_NAME compat for el7
...
Every kernel now supports .name instead of .prefix.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
505d7f8198
Remove el7 RHEL_IOPS_WRAPPER and KC_LINUX_AIO_KI_LEFT
...
These were kind of globbed together. This removes a large
amount of duplicate method definitions.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
32845f85c3
Remove .aio_read and .aio_write methods.
...
This removes two large duplicate code blocks.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
1af1040631
Remove KC_FILE_AOPS_READAHEAD compat for el7
...
Thanks to RH backporting this 5.x kernel feature, we can drop
a large chunk of code here.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
c81832a2c6
Remove MS_* (mount) flags for el7
...
These are obsolete, we won't need their backwards compatible
versions anymore.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
986efe1ce1
All workqueues are non-reentrant since el8
...
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
2944ea6424
remove generic_file_buffered_write backport for el7
...
We still need to keep KC_GENERIC_PERFORM_WRITE_KIOCB_IOV_ITER for
el8. So kc_generic_perform_write remains in place for now.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
16af2fe5ff
Remove KC_CPU_NOTIFIER compat for el7
...
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
99415423ae
Remove timespec64 compat for el7
...
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
c83e37c1c7
Remove kc_sock_create_kern compat for el7
...
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
d611cf1368
Remove kc_get_sock/peername compat for el7
...
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
a3b77c224f
Remove KC_XATTR_STRUCT_XATTR_HANDLER compat for el7
...
This includes removal of a lot of double function definitions.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
1824980d29
Remove KC_BIO_BI_STATUS compat for el7
...
Unwrap the remaining stubs.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
166238abc7
Remove KC_BIO_BI_OPF compat for el7
...
Unwrap the remaining stubs everywhere used.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
84a3e73086
Remove memalloc_noio_save/_restore compath for el7
...
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
7c0c1e6f38
Remove __percpu_counter_add compat for el7
...
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
276034f89d
Remove iversion.h compat for el7
...
For simplicity we just include the header here now that we
don't need it in the kernelcompat anymore.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
9102dc0136
Remove setattr_prepare() compat for el7
...
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
94d06e65bc
Remove KC_RB_TREE_AUGMENTED_COMPUTE_MAX compat for el7
...
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
fcf94498fb
Remove kc_posix_acl_valid compat.
...
This is a pre-el7 remnant, possibly from a really old rhel9
version, and was already effectively a stub.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
3d9a7918c4
Remove KC_FMODE_KABI_ITERATE compat for el7
...
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
64587c505a
Remove backing_dev_info compat for el7
...
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
31c9ea40ce
Remove shinker compat for el7
...
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
e1a8b17e0c
Remove posix_acl_create
...
We're now using __posix_acl_create instead.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Auke Kok
845b43d29c
Remove use of d_materialise_unique
...
This is no longer used. We always d_splice_alias.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-06-05 09:49:45 -07:00
Zach Brown and GitHub
9ea53a160f
Merge pull request #320 from versity/auke/v1_32_release
...
v1.32 Release
2026-06-03 11:51:18 -07:00
Auke Kok
cd73319d4d
v1.32 Release
...
Finish the release notes for the 1.32 release.
Signed-off-by: Auke Kok <auke.kok@versity.com >
v1.32
2026-06-03 11:34:21 -07:00
Zach Brown and GitHub
24aeb0175f
Merge pull request #319 from versity/auke/nfs_setfacl
...
nfs setfacl + test (needs nfs-utils)
2026-06-03 10:06:17 -07:00
Auke Kok
f8f661d79c
Add basic NFS tests.
...
This depends on nfs-utils being installed on the host. Without it
it will skip, and count as a failure. It starts nfs-server and
does a bare exportfs.
- Tests basic read/write/stage/release/data wait.
- Tests setfacl/getfacl.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-05-28 12:01:29 -07:00
Zach Brown and GitHub
07e90422ee
Merge pull request #293 from versity/auke/data_prealloc_min
...
scaling prealloc.
2026-05-28 09:40:31 -07:00
Zach Brown and GitHub
634ca720c9
Merge pull request #318 from versity/auke/timer_container_of
...
Use timer_container_of with fallback for from_timer -> el9.8 support
2026-05-28 09:38:19 -07:00
Auke Kok
fa560016d4
Register .set_acl unconditionally to fix POSIX ACL writes over NFS
...
Scoutfs has supported posix ACLs through the xattr handler table,
which allowed NFS to fetch them through this sideband, which worked
for older kernels.
With recent changes we've pulled in .get_acl because the mainline
kernel is changing how ACL ops are called. But we still left .set_acl
unreachable. This meant that on el9.7 nfs clients could now reach
.get_acl, but still not set them.
With this change, we're finally exposing .set_acl consistently
across all el releases and allowing nfs clients to both get and set
posix ACLs.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-05-28 09:02:47 -07:00
Auke Kok
1f1e3e9c6a
Use timer_container_of with fallback for from_timer
...
El9.8 backported the upstream v6.15.* rename of from_timer to
timer_container_of. Switch the two callers in fence.c and recov.c
to the new style and add a simple kcompat define for older kernels.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-05-26 17:45:53 -04:00
Auke Kok
5a6523ecf4
Ramping up data preallocation
...
Ramps up data preallocation based on the number of online
blocks. This results in a simple 2<<n block allocation pattern
until n=11 (2048) - the default value of data_prealloc_blocks.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-05-19 19:18:53 -07:00
Zach Brown and GitHub
fece0a9372
Merge pull request #310 from versity/zab/v1.31
...
v1.31 Release
2026-05-06 10:37:07 -07:00
Zach Brown
aa432727f2
v1.31 Release
...
Finish the release notes for the 1.31 release.
Signed-off-by: Zach Brown <zab@versity.com >
v1.31
2026-05-05 14:29:18 -07:00
Zach Brown and GitHub
ceebadd139
Merge pull request #308 from versity/auke/totl-delta-repair
...
totl key repair
2026-05-05 13:05:57 -07:00
Zach Brown and GitHub
4b4ddc9ded
Merge pull request #298 from versity/auke/double_unlock_dw_truncate
...
Fix double unlock in scoutfs_setattr data_wait error path
2026-05-04 09:52:29 -07:00
Zach Brown and GitHub
94d3ece590
Merge pull request #299 from versity/auke/cond_resched_block_free
...
Add cond_resched in block_free_work
2026-05-04 09:49:43 -07:00
Auke Kok
6d5517614b
Fix double unlock in scoutfs_setattr data_wait error path
...
When scoutfs_setattr truncates a file with offline extents, it unlocks
the inode lock before calling scoutfs_data_wait to wait for the data
to be staged. If data_wait returns any error, the code jumps to 'goto
out' which calls scoutfs_unlock again, thus double-unlocking the lock.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-05-04 09:48:54 -07:00
Auke Kok
10279d0b23
Add test exercising the totl delta inject ioctl.
...
Skews a totl twice, restore it, and intersperse setfattr/unlink to
exercise both injected and naturally-produced deltas.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-05-04 09:43:01 -07:00
Zach Brown and GitHub
443c34309f
Merge pull request #303 from versity/auke/clang_build_werr
...
3 minor clang things
2026-05-04 09:42:43 -07:00
Auke Kok
5c81a979d5
Add SCOUTFS_IOC_INJECT_TOTL_DELTA ioctl.
...
Inject a signed (total, count) delta at a totl key. No validity
checking. Requires CAP_SYS_ADMIN.
Signed-off-by: Auke Kok <auke.kok@versity.com >
2026-05-04 09:42:42 -07:00
Zach Brown and GitHub
ec38b6e1c8
Merge pull request #305 from versity/auke/block_submit_bio_err
...
Set BLOCK_BIT_ERROR on bio submit failure during forced unmount
2026-05-04 09:35:43 -07:00