mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-01-30 20:04:22 +03:00
Linux 6.12: f_version removed from struct file
linux/torvalds@11068e0b64 removes it, suggesting this was a always there as a helper to handle concurrent seeks, which all filesystems now handle themselves if necessary. Without looking into the mechanism, I can imagine how it might have been used, but we have always set it to zero and never read from it, presumably because we've always tracked per-caller position through the znode anyway. So I don't see how there can be any functional change for us by removing it. I've stayed conservative though and left it in for older kernels, since its clearly not hurting anything there. Sponsored-by: https://despairlabs.com/sponsor/ Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Rob Norris <robn@despairlabs.com> Closes #16582
This commit is contained in:
parent
997831548a
commit
dbc70ec73a
31
config/kernel-file.m4
Normal file
31
config/kernel-file.m4
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
dnl #
|
||||||
|
dnl # 6.12 removed f_version from struct file
|
||||||
|
dnl #
|
||||||
|
AC_DEFUN([ZFS_AC_KERNEL_SRC_FILE_F_VERSION], [
|
||||||
|
ZFS_LINUX_TEST_SRC([file_f_version], [
|
||||||
|
#include <linux/fs.h>
|
||||||
|
|
||||||
|
static const struct f __attribute__((unused)) = {
|
||||||
|
.f_version = 0;
|
||||||
|
};
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([ZFS_AC_KERNEL_FILE_F_VERSION], [
|
||||||
|
AC_MSG_CHECKING([whether file->f_version exists])
|
||||||
|
ZFS_LINUX_TEST_RESULT([file_f_version], [
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
AC_DEFINE(HAVE_FILE_F_VERSION, 1,
|
||||||
|
[file->f_version exists])
|
||||||
|
], [
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([ZFS_AC_KERNEL_FILE], [
|
||||||
|
ZFS_AC_KERNEL_FILE_F_VERSION
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([ZFS_AC_KERNEL_SRC_FILE], [
|
||||||
|
ZFS_AC_KERNEL_SRC_FILE_F_VERSION
|
||||||
|
])
|
@ -125,6 +125,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_SRC], [
|
|||||||
ZFS_AC_KERNEL_SRC_SYNC_BDEV
|
ZFS_AC_KERNEL_SRC_SYNC_BDEV
|
||||||
ZFS_AC_KERNEL_SRC_MM_PAGE_SIZE
|
ZFS_AC_KERNEL_SRC_MM_PAGE_SIZE
|
||||||
ZFS_AC_KERNEL_SRC_MM_PAGE_MAPPING
|
ZFS_AC_KERNEL_SRC_MM_PAGE_MAPPING
|
||||||
|
ZFS_AC_KERNEL_SRC_FILE
|
||||||
case "$host_cpu" in
|
case "$host_cpu" in
|
||||||
powerpc*)
|
powerpc*)
|
||||||
ZFS_AC_KERNEL_SRC_CPU_HAS_FEATURE
|
ZFS_AC_KERNEL_SRC_CPU_HAS_FEATURE
|
||||||
@ -234,6 +235,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_RESULT], [
|
|||||||
ZFS_AC_KERNEL_MM_PAGE_SIZE
|
ZFS_AC_KERNEL_MM_PAGE_SIZE
|
||||||
ZFS_AC_KERNEL_MM_PAGE_MAPPING
|
ZFS_AC_KERNEL_MM_PAGE_MAPPING
|
||||||
ZFS_AC_KERNEL_1ARG_ASSIGN_STR
|
ZFS_AC_KERNEL_1ARG_ASSIGN_STR
|
||||||
|
ZFS_AC_KERNEL_FILE
|
||||||
case "$host_cpu" in
|
case "$host_cpu" in
|
||||||
powerpc*)
|
powerpc*)
|
||||||
ZFS_AC_KERNEL_CPU_HAS_FEATURE
|
ZFS_AC_KERNEL_CPU_HAS_FEATURE
|
||||||
|
@ -81,7 +81,9 @@ lseek_execute(
|
|||||||
if (offset != filp->f_pos) {
|
if (offset != filp->f_pos) {
|
||||||
spin_lock(&filp->f_lock);
|
spin_lock(&filp->f_lock);
|
||||||
filp->f_pos = offset;
|
filp->f_pos = offset;
|
||||||
|
#ifdef HAVE_FILE_F_VERSION
|
||||||
filp->f_version = 0;
|
filp->f_version = 0;
|
||||||
|
#endif
|
||||||
spin_unlock(&filp->f_lock);
|
spin_unlock(&filp->f_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user