Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package openafs for openSUSE:Factory checked in at 2022-10-14 15:42:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openafs (Old) and /work/SRC/openSUSE:Factory/.openafs.new.2275 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openafs" Fri Oct 14 15:42:06 2022 rev:36 rq:1010499 version:1.8.9~pre1 Changes: -------- --- /work/SRC/openSUSE:Factory/openafs/openafs.changes 2022-08-16 17:08:56.160092026 +0200 +++ /work/SRC/openSUSE:Factory/.openafs.new.2275/openafs.changes 2022-10-14 15:43:13.515987127 +0200 @@ -1,0 +2,12 @@ +Wed Oct 12 16:19:20 UTC 2022 - Christof Hanke <christof.ha...@mpcdf.mpg.de> + +- update to openafs-1.8.9pre1 +- remove obsolete patches: + * 05b722d.diff + * cc8edf7.diff + * 6348262.diff +- apply patch for kernel 6.0: + * 79f03c2.diff + + +------------------------------------------------------------------- Old: ---- 05b722d.diff 6348262.diff RELNOTES-stable-1_8_x cc8edf7.diff openafs-stable-1_8_x-doc.tar.bz2 openafs-stable-1_8_x-doc.tar.bz2.md5 openafs-stable-1_8_x-doc.tar.bz2.sha256 openafs-stable-1_8_x-src.tar.bz2 openafs-stable-1_8_x-src.tar.bz2.md5 openafs-stable-1_8_x-src.tar.bz2.sha256 New: ---- 79f03c2.diff RELNOTES-1.8.9pre1 openafs-1.8.9pre1-doc.tar.bz2 openafs-1.8.9pre1-doc.tar.bz2.md5 openafs-1.8.9pre1-doc.tar.bz2.sha256 openafs-1.8.9pre1-src.tar.bz2 openafs-1.8.9pre1-src.tar.bz2.md5 openafs-1.8.9pre1-src.tar.bz2.sha256 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openafs.spec ++++++ --- /var/tmp/diff_new_pack.zF62VH/_old 2022-10-14 15:43:14.475988730 +0200 +++ /var/tmp/diff_new_pack.zF62VH/_new 2022-10-14 15:43:14.479988737 +0200 @@ -57,11 +57,11 @@ # used for %setup only # leave upstream tar-balls untouched for integrity checks. -%define upstream_version stable-1_8_x +%define upstream_version 1.8.9pre1 Name: openafs -Version: 1.8.8.2~rc1 +Version: 1.8.9~pre1 Release: 0 Summary: OpenAFS Distributed File System License: IPL-1.0 @@ -106,9 +106,8 @@ # PATCH-FIX-UPSTREAM KMP build and gcc # required patches for Linux-5.18 as mentionend on # https://wiki.openafs.org/devel/Whiteboard/ (June 2022) -Patch1: cc8edf7.diff -Patch2: 05b722d.diff -Patch3: 6348262.diff +# PATCH-FIX-KMP-BUILDING +Patch1: 79f03c2.diff # PATCH-FIX-UPSTREAM make configure detect ncurses 6 correctly Patch4: 4cf7a9a.diff @@ -321,8 +320,6 @@ %setup -q -n openafs-%{upstream_version} -T -b 0 -b 1 %patch1 -p1 -%patch2 -p1 -%patch3 -p1 %patch4 -p1 ./regen.sh ++++++ 79f03c2.diff ++++++ >From 79f03c2d6714e653cee4aa6af81d6568ad4368b7 Mon Sep 17 00:00:00 2001 From: Cheyenne Wills <cwi...@sinenomine.net> Date: Thu, 22 Sep 2022 13:04:59 -0600 Subject: [PATCH] Linux-6.0: Replace add_to_page_cache Linux 6.0 removed the add_to_page_cache function in the Linux commit: 'filemap: Remove add_to_page_cache() and add_to_page_cache_locked()' (2bb876b58d593d7f2522ec0f41f20a74fde76822) The replacement function, filemap_add_folio function is exported as GPL, but a non-GPL wrapper was provided in the Linux 5.15 commit: 'mm/filemap: Add filemap_add_folio()' (9dd3d069406cea073fc633e77bc59abbfde8c6c4) which changed the GPL exported function add_to_page_cache_lru to a non-GPL exported function. The function add_to_page_cache_lru functionally combines the add_to_page_cache with lru_cache_add. Within afs, all the calls to add_to_page_cache follow the pattern of calling the lru_cache_add via the wrapper afs_lru_cache_add immediately after (except in one case noted below). Add an autoconf check to see if add_to_page_cache_lru is available. Introduce a new wrapper function afs_add_to_page_cache_lru that handles calling either add_to_page_cache/afs_lru_cache_add or add_to_page_cache_lru. As noted above there is one function, afs_linux_bypass_readpages, that calls add_to_page_cache but does not immediately call afs_lru_cache_add. This function is only used in Linux kernels prior to 5.18, see the commit: 'Linux-5.18: replace readpages with readahead' (7a181415db) Since this code path is only built for a Linux kernel level where add_to_page_cache should also exists, we do not replace this call. NOTE: The add_to_page_cache_lru was moved into mm/folio-compat.c which has a comment indicating that callers of these functions should migrate to folio calls. However the replacement folio call that is needed by afs, filemap_add_folio, is exported as GPL. Reviewed-on: https://gerrit.openafs.org/15132 Tested-by: BuildBot <build...@rampaginggeek.com> Reviewed-by: Andrew Deason <adea...@sinenomine.net> Reviewed-by: Michael Meffie <mmef...@sinenomine.net> Reviewed-by: Benjamin Kaduk <ka...@mit.edu> (cherry picked from commit 0ce315f0cee1cff7e19e6ebcc0e0e82e03719c20) Change-Id: Ic0496c2fba00e7be467dbbcf52d9854495e1ad9f --- diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 621e4da..bec30bb 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -148,6 +148,23 @@ } #endif /* !HAVE_LINUX_LRU_ADD_FILE */ +static inline int +afs_add_to_page_cache_lru(struct afs_lru_pages *alrupages, struct page *page, + struct address_space *mapping, + pgoff_t index, gfp_t gfp) +{ +#if defined(HAVE_LINUX_ADD_TO_PAGE_CACHE_LRU) + return add_to_page_cache_lru(page, mapping, index, gfp); +#else + int code; + code = add_to_page_cache(page, mapping, index, gfp); + if (code == 0) { + afs_lru_cache_add(alrupages, page); + } + return code; +#endif +} + /* This function converts a positive error code from AFS into a negative * code suitable for passing into the Linux VFS layer. It checks that the * error code is within the permissable bounds for the ERR_PTR mechanism. @@ -2269,12 +2286,11 @@ goto out; } - code = add_to_page_cache(newpage, cachemapping, - pageindex, GFP_KERNEL); + code = afs_add_to_page_cache_lru(alrupages, newpage, cachemapping, + pageindex, GFP_KERNEL); if (code == 0) { cachepage = newpage; newpage = NULL; - afs_lru_cache_add(alrupages, cachepage); } else { put_page(newpage); newpage = NULL; @@ -3092,11 +3108,9 @@ goto out; } - if (tdc && !add_to_page_cache(page, mapping, page->index, - GFP_KERNEL)) { - afs_lru_cache_add(&lrupages, page); - - /* Note that add_to_page_cache() locked 'page'. + if (tdc && !afs_add_to_page_cache_lru(&lrupages, page, mapping, page->index, + GFP_KERNEL)) { + /* Note that afs_add_to_page_cache_lru() locks the 'page'. * afs_linux_read_cache() is guaranteed to handle unlocking it. */ afs_linux_read_cache(cacheFp, page, tdc->f.chunk, &lrupages, task); } diff --git a/src/cf/linux-kernel-func.m4 b/src/cf/linux-kernel-func.m4 index 27a1d41..d3abdf9 100644 --- a/src/cf/linux-kernel-func.m4 +++ b/src/cf/linux-kernel-func.m4 @@ -189,6 +189,16 @@ #include <linux/kthread.h>], [kthread_complete_and_exit(0, 0);]) +dnl Linux 6.0 removed add_to_page_cache. It's replacement, filemap_add_folio, +dnl was added in 5.15 and is GPL-only, but has a NON-GPL wrapper called +dnl add_to_page_cache_lru. +dnl Note prior to 5.15, add_to_page_cache_lru was either not exported or +dnl or exported as GPL-only. +AC_CHECK_LINUX_FUNC([add_to_page_cache_lru], + [#include <linux/kernel.h> + #include <linux/pagemap.h>], + [add_to_page_cache_lru(NULL, NULL, 0, 0);]) + dnl Consequences - things which get set as a result of the dnl above tests AS_IF([test "x$ac_cv_linux_func_d_alloc_anon" = "xno"], ++++++ ChangeLog ++++++ ++++ 610 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/openafs/ChangeLog ++++ and /work/SRC/openSUSE:Factory/.openafs.new.2275/ChangeLog ++++++ RELNOTES-1.8.9pre1 ++++++ User-Visible OpenAFS Changes OpenAFS 1.8.9 (in progress) All platforms * Performance improvements (14814 14815 15129) * Support for building with more recent compilers (14970 14982..14987 14990 14991 15056 15057 15061..15064) * Build fixes and improvements around the test suite (14879 14880 14909..14911 15133) * Documentation improvements (14980 15047) * Improved diagnostics and error messages. In particular, warn when server processes are started without keys and properly print the volume transaction flags in "vos status" output (14594 14968) FreeBSD * Added support for release 12.3 and further improvements (14878 14920 14921) Linux clients * Support mainline kernels up to 5.19 (14942..14944 14989 14945 14946 15058 15065 15094 15095) * Fixed a potential memory leak (15096) * Fixed a type cast which could make builds fail against older kernels (15134) * In Red Hat packaging, no longer have systemd load the openafs module during boot (15128) Most client platforms * Handle certain failure conditions rather than panicking the system (14927 15052) ++++++ openafs-1.8.9pre1-doc.tar.bz2.md5 ++++++ ed561539e89a36a4aae32fcdcdb6d3fb openafs-1.8.9pre1-doc.tar.bz2 ++++++ openafs-1.8.9pre1-doc.tar.bz2.sha256 ++++++ f6576fdbd4796adce3f7ab114c9e34c4cca717924ab02e5d8f2dc5bf0fa93f2e openafs-1.8.9pre1-doc.tar.bz2 ++++++ openafs-1.8.9pre1-src.tar.bz2.md5 ++++++ d366d6fd5c835c6858738cc6ec37f76c openafs-1.8.9pre1-src.tar.bz2 ++++++ openafs-1.8.9pre1-src.tar.bz2.sha256 ++++++ 3b9d5f646b1efd24ae18ba6be45490bb01b4547725621fb335379f5754c6cb7a openafs-1.8.9pre1-src.tar.bz2