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-08-16 17:08:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openafs (Old) and /work/SRC/openSUSE:Factory/.openafs.new.1521 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openafs" Tue Aug 16 17:08:47 2022 rev:35 rq:997369 version:1.8.8.2~rc1 Changes: -------- --- /work/SRC/openSUSE:Factory/openafs/openafs.changes 2022-06-24 08:45:48.543172681 +0200 +++ /work/SRC/openSUSE:Factory/.openafs.new.1521/openafs.changes 2022-08-16 17:08:56.160092026 +0200 @@ -1,0 +2,9 @@ +Tue Aug 16 09:54:58 UTC 2022 - Christof Hanke <[email protected]> + +- update to current of upstream-branch openafs-stable-1_8_x +- apply patches for 15.9: + * 05b722d.diff 6348262.diff cc8edf7.diff +- remove patches now in openafs-stable-1_8_x + * fix_gcc_12_linux_5.18.diff + +------------------------------------------------------------------- Old: ---- fix_gcc_12_linux_5.18.diff New: ---- 05b722d.diff 6348262.diff cc8edf7.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openafs.spec ++++++ --- /var/tmp/diff_new_pack.RTmYTo/_old 2022-08-16 17:08:57.208095160 +0200 +++ /var/tmp/diff_new_pack.RTmYTo/_new 2022-08-16 17:08:57.212095172 +0200 @@ -106,7 +106,9 @@ # 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: fix_gcc_12_linux_5.18.diff +Patch1: cc8edf7.diff +Patch2: 05b722d.diff +Patch3: 6348262.diff # PATCH-FIX-UPSTREAM make configure detect ncurses 6 correctly Patch4: 4cf7a9a.diff @@ -319,6 +321,8 @@ %setup -q -n openafs-%{upstream_version} -T -b 0 -b 1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 %patch4 -p1 ./regen.sh ++++++ 05b722d.diff ++++++ >From 05b722dd59ad2257986f9ab0739d03a1f4a76ee5 Mon Sep 17 00:00:00 2001 From: Cheyenne Wills <[email protected]> Date: Tue, 05 Jul 2022 10:33:19 -0600 Subject: [PATCH] Linux-5.19: Remove flags from aops->write_begin The Linux 5.19 commits: fs: Remove aop flags parameter from grab_cache_page_write_begin() (b7446e7c) fs: Remove flags parameter from aops->write_begin (9d6b0cd7) removed the flags parameter from the address space operations 'write_begin' as well as removing the flags parameter from the Linux function 'grab_cache_page_write_begin'. Add an autoconf test to see if grab_cache_page_write_begin takes 2 or 3 parameters. Use this as a test to determine if the address space operations 'write_begin' takes a flags parameter. Create a version of afs_linux_write_begin that does not take a flags parameter, which also calls grab_cache_page_write_begin without flags. Reviewed-on: https://gerrit.openafs.org/15041 Tested-by: BuildBot <[email protected]> Reviewed-by: Andrew Deason <[email protected]> Reviewed-by: Michael Meffie <[email protected]> Reviewed-by: Benjamin Kaduk <[email protected]> (cherry picked from commit 52d8df218ff27c139ede221ec4decf593610fc47) Change-Id: I20575c2e9d0979749078f4e3d6f862900c6b6561 --- diff --git a/src/afs/LINUX/osi_compat.h b/src/afs/LINUX/osi_compat.h index 53a079b..9a080da 100644 --- a/src/afs/LINUX/osi_compat.h +++ b/src/afs/LINUX/osi_compat.h @@ -138,7 +138,9 @@ #define AOP_WRITEPAGE_ACTIVATE WRITEPAGE_ACTIVATE #endif -#if defined(STRUCT_ADDRESS_SPACE_OPERATIONS_HAS_WRITE_BEGIN) && !defined(HAVE_LINUX_GRAB_CACHE_PAGE_WRITE_BEGIN) +#if defined(STRUCT_ADDRESS_SPACE_OPERATIONS_HAS_WRITE_BEGIN) && \ + !defined(HAVE_LINUX_GRAB_CACHE_PAGE_WRITE_BEGIN_WITHFLAGS) && \ + !defined(HAVE_LINUX_GRAB_CACHE_PAGE_WRITE_BEGIN_NOFLAGS) static inline struct page * grab_cache_page_write_begin(struct address_space *mapping, pgoff_t index, unsigned int flags) { diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 04f13a1..881d38e 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -3480,6 +3480,33 @@ return code; } +# if defined(HAVE_LINUX_GRAB_CACHE_PAGE_WRITE_BEGIN_NOFLAGS) +static int +afs_linux_write_begin(struct file *file, struct address_space *mapping, + loff_t pos, unsigned len, + struct page **pagep, void **fsdata) +{ + struct page *page; + pgoff_t index = pos >> PAGE_SHIFT; + unsigned int from = pos & (PAGE_SIZE - 1); + int code; + + page = grab_cache_page_write_begin(mapping, index); + if (!page) { + return -ENOMEM; + } + + *pagep = page; + + code = afs_linux_prepare_write(file, page, from, from + len); + if (code) { + unlock_page(page); + put_page(page); + } + + return code; +} +# else static int afs_linux_write_begin(struct file *file, struct address_space *mapping, loff_t pos, unsigned len, unsigned flags, @@ -3505,7 +3532,8 @@ return code; } -#endif +# endif /* HAVE_LINUX_GRAB_CACHE_PAGE_WRITE_BEGIN_NOFLAGS */ +#endif /* STRUCT_ADDRESS_SPACE_OPERATIONS_HAS_WRITE_BEGIN */ #ifndef STRUCT_DENTRY_OPERATIONS_HAS_D_AUTOMOUNT static void * diff --git a/src/cf/linux-kernel-func.m4 b/src/cf/linux-kernel-func.m4 index cd4afe9..27a1d41 100644 --- a/src/cf/linux-kernel-func.m4 +++ b/src/cf/linux-kernel-func.m4 @@ -59,9 +59,14 @@ AC_CHECK_LINUX_FUNC([generic_file_aio_read], [#include <linux/fs.h>], [generic_file_aio_read(NULL,NULL,0,0);]) -AC_CHECK_LINUX_FUNC([grab_cache_page_write_begin], +dnl - linux 5.19 removed the flags parameter, need to test +dnl - with and without the flags parameter +AC_CHECK_LINUX_FUNC([grab_cache_page_write_begin_withflags], [#include <linux/pagemap.h>], [grab_cache_page_write_begin(NULL, 0, 0);]) +AC_CHECK_LINUX_FUNC([grab_cache_page_write_begin_noflags], + [#include <linux/pagemap.h>], + [grab_cache_page_write_begin(NULL, 0);]) AC_CHECK_LINUX_FUNC([hlist_unhashed], [#include <linux/list.h>], [hlist_unhashed(0);]) ++++++ fix_gcc_12_linux_5.18.diff -> 6348262.diff ++++++ ++++ 20390 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/openafs/fix_gcc_12_linux_5.18.diff ++++ and /work/SRC/openSUSE:Factory/.openafs.new.1521/6348262.diff ++++++ ChangeLog ++++++ ++++ 2904 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/openafs/ChangeLog ++++ and /work/SRC/openSUSE:Factory/.openafs.new.1521/ChangeLog ++++++ RELNOTES-stable-1_8_x ++++++ --- /var/tmp/diff_new_pack.RTmYTo/_old 2022-08-16 17:08:57.340095555 +0200 +++ /var/tmp/diff_new_pack.RTmYTo/_new 2022-08-16 17:08:57.340095555 +0200 @@ -1,16 +1,15 @@ User-Visible OpenAFS Changes -OpenAFS 1.8.8.2~rc1 +OpenAFS 1.8.8.2~rc2 Linux clients - * Support mainline kernels 5.17 and likely 5.18 + * Support mainline kernels 5.17, 5.18 and 5.19 * Support for gcc-12, clang-14 Maybe others This is an intermediate package based on the git-branch stable-1_8_x with additional patches -to fill the need of supporting Linux-5.18 - +to fill the need of supporting Linux-5.19 ++++++ cc8edf7.diff ++++++ >From cc8edf7f9b75a2114ef6c7f003456b5515cbaaf5 Mon Sep 17 00:00:00 2001 From: Cheyenne Wills <[email protected]> Date: Tue, 05 Jul 2022 10:28:10 -0600 Subject: [PATCH] Linux: Introduce file mapping readpage helpers Create a helper function that determines if a file's i_mapping->a_ops->readpage is NULL. Create a helper function that calls a file's i_mapping->a_ops->readpage There are no functional changes with this commit. Note: This commit isolates references to 'readpage' so that future commits can change the name in a more straight forward manner. Reviewed-on: https://gerrit.openafs.org/15039 Tested-by: BuildBot <[email protected]> Reviewed-by: Andrew Deason <[email protected]> Reviewed-by: Benjamin Kaduk <[email protected]> (cherry picked from commit a81f7300f08d6e515adbde4bce4b72a3102b60f9) Change-Id: I9268fd2622ecd48ad6971a8faaeefef8128f4024 --- diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 5411863..b834a40 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -2206,6 +2206,18 @@ #endif /* USABLE_KERNEL_PAGE_SYMLINK_CACHE */ +/* + * Call the mapping function that reads data for a given page. + * Note: When we return, it is expected that the page is unlocked. It is the + * responsibility of the called function (e.g. ->readpage) to unlock the given + * page, even when an error occurs. + */ +static int +mapping_read_page(struct address_space *mapping, struct page *page) +{ + return mapping->a_ops->readpage(NULL, page); +} + /* Populate a page by filling it from the cache file pointed at by cachefp * (which contains indicated chunk) * If task is NULL, the page copy occurs syncronously, and the routine @@ -2272,9 +2284,9 @@ if (!PageUptodate(cachepage)) { ClearPageError(cachepage); - /* Note that ->readpage always handles unlocking the given page, even - * when an error is returned. */ - code = cachemapping->a_ops->readpage(NULL, cachepage); + /* Note that mapping_read_page always handles unlocking the given page, + * even when an error is returned. */ + code = mapping_read_page(cachemapping, cachepage); if (!code && !task) { wait_on_page_locked(cachepage); } @@ -2306,6 +2318,17 @@ put_page(cachepage); return code; +} + +/* + * Return true if the file has a mapping that can read pages + */ +static int inline +file_can_read_pages(struct file *fp) +{ + if (fp->f_dentry->d_inode->i_mapping->a_ops->readpage != NULL) + return 1; + return 0; } static int inline @@ -2403,7 +2426,8 @@ AFS_GLOCK(); goto out; } - if (!cacheFp->f_dentry->d_inode->i_mapping->a_ops->readpage) { + + if (!file_can_read_pages(cacheFp)) { cachefs_noreadpage = 1; AFS_GLOCK(); goto out; @@ -2871,7 +2895,7 @@ code = -1; goto out; } - if (cacheFp->f_dentry->d_inode->i_mapping->a_ops->readpage == NULL) { + if (!file_can_read_pages(cacheFp)) { cachefs_noreadpage = 1; /* No mapping function */ code = -1; ++++++ openafs-stable-1_8_x-doc.tar.bz2 ++++++ ++++ 112225 lines of diff (skipped) ++++++ openafs-stable-1_8_x-doc.tar.bz2.md5 ++++++ --- /var/tmp/diff_new_pack.RTmYTo/_old 2022-08-16 17:08:58.864100112 +0200 +++ /var/tmp/diff_new_pack.RTmYTo/_new 2022-08-16 17:08:58.868100124 +0200 @@ -1,2 +1,2 @@ -3206e88b7921851f627f0ec26103ab89 openafs-stable-1_8_x-doc.tar.bz2 +b39c1f237fddfc696b04f02185cfffda openafs-stable-1_8_x-doc.tar.bz2 ++++++ openafs-stable-1_8_x-doc.tar.bz2.sha256 ++++++ --- /var/tmp/diff_new_pack.RTmYTo/_old 2022-08-16 17:08:58.888100184 +0200 +++ /var/tmp/diff_new_pack.RTmYTo/_new 2022-08-16 17:08:58.892100196 +0200 @@ -1,2 +1,2 @@ -cadd1ae737ccead61f2353a791dfd2d319c397b3552aef7fbf57b9ce6dafa879 openafs-stable-1_8_x-doc.tar.bz2 +64b6816f6019dc371631893d67398a9a1d59f83d15f236504376d441a022df07 openafs-stable-1_8_x-doc.tar.bz2 ++++++ openafs-stable-1_8_x-src.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/openafs/openafs-stable-1_8_x-src.tar.bz2 /work/SRC/openSUSE:Factory/.openafs.new.1521/openafs-stable-1_8_x-src.tar.bz2 differ: char 11, line 1 ++++++ openafs-stable-1_8_x-src.tar.bz2.md5 ++++++ --- /var/tmp/diff_new_pack.RTmYTo/_old 2022-08-16 17:08:58.928100304 +0200 +++ /var/tmp/diff_new_pack.RTmYTo/_new 2022-08-16 17:08:58.928100304 +0200 @@ -1,2 +1,2 @@ -cce4f045f9c7ee1af8f101d25325c52a openafs-stable-1_8_x-src.tar.bz2 +5ed303e2b2ade613991395b34dbbd2f8 openafs-stable-1_8_x-src.tar.bz2 ++++++ openafs-stable-1_8_x-src.tar.bz2.sha256 ++++++ --- /var/tmp/diff_new_pack.RTmYTo/_old 2022-08-16 17:08:58.952100375 +0200 +++ /var/tmp/diff_new_pack.RTmYTo/_new 2022-08-16 17:08:58.956100387 +0200 @@ -1,2 +1,2 @@ -47b9ac236f5589ed48a6eee194b42ea4254aa6d4e122aceae5b9fd802a2adaf6 openafs-stable-1_8_x-src.tar.bz2 +3e9ba0783deef51d7838ec847c2cfe6d00967b0ce50104ac0dcdf9d8e39b67c4 openafs-stable-1_8_x-src.tar.bz2
