[LU-12902] Lustre 2.12.3 patchless is broken with newest el7.7 kernel Created: 24/Oct/19 Updated: 24/Feb/21 Resolved: 24/Feb/21 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.12.3 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major |
| Reporter: | Nathaniel Clark | Assignee: | WC Triage |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Severity: | 3 | ||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||
| Description |
|
3.10.0-1062.4.1.el7 has incompatibilities that ldiskfs and osd-ldiskfs relay on. # rpm -q kmod-lustre-osd-ldiskfs kmod-lustre-osd-ldiskfs-2.12.3-1.el7.x86_64 # rpm -ql kmod-lustre-osd-ldiskfs|weak-modules --add-modules --no-initramfs --verbose weak module for ldiskfs.ko already exists for kernel 3.10.0-1062.1.2.el7.x86_64, update case? weak module for osd_ldiskfs.ko already exists for kernel 3.10.0-1062.1.2.el7.x86_64, update case? Module ldiskfs.ko from kernel 3.10.0-1062.1.1.el7.x86_64 is compatible with kernel 3.10.0-1062.1.2.el7.x86_64 Module osd_ldiskfs.ko from kernel 3.10.0-1062.1.1.el7.x86_64 is compatible with kernel 3.10.0-1062.1.2.el7.x86_64 Module ldiskfs.ko from kernel 3.10.0-1062.1.1.el7.x86_64 is not compatible with kernel 3.10.0-1062.4.1.el7.x86_64 in symbols: dax_iomap_rw dax_iomap_fault iomap_seek_hole iomap_zero_range iomap_seek_data Module osd_ldiskfs.ko from kernel 3.10.0-1062.1.1.el7.x86_64 is not compatible with kernel 3.10.0-1062.4.1.el7.x86_64 in symbols: ... Falling back weak-modules state for kernel 3.10.0-1062.4.1.el7.x86_64 ldiskfs is requried for osd-zfs and it fails with with several altered iomap functions: # rpm -q --provides kernel-3.10.0-1062.1.2.el7.x86_64|grep iomap kernel(dax_iomap_fault) = 0x0b902321 kernel(dax_iomap_rw) = 0x37eef37b kernel(iomap_fiemap) = 0xfa2ed623 kernel(iomap_file_buffered_write) = 0x628c917c kernel(iomap_file_dirty) = 0x9e200d1b kernel(iomap_page_mkwrite) = 0xbbe2a625 kernel(iomap_seek_data) = 0xb5ddb7af kernel(iomap_seek_hole) = 0xa20591eb kernel(iomap_truncate_page) = 0xf593898a kernel(iomap_zero_range) = 0x1af83d54 Notice the differences with the newer kernel: # rpm -q --provides kernel-3.10.0-1062.4.1.el7.x86_64|grep iomap kernel(dax_iomap_fault) = 0x11edac64 kernel(dax_iomap_rw) = 0xda44c989 kernel(iomap_fiemap) = 0x76136597 kernel(iomap_file_buffered_write) = 0xbd2b25bb kernel(iomap_file_dirty) = 0xfaab4451 kernel(iomap_page_mkwrite) = 0xf7ffaaec kernel(iomap_seek_data) = 0xb9e7cdbe kernel(iomap_seek_hole) = 0x3e7c77ea kernel(iomap_truncate_page) = 0x0f79ea91 kernel(iomap_zero_range) = 0x52e02a8e
I believe this is due to iomap changes in 3.10.0-1062.3.1 (from rpm -q --changelog): * Mon Sep 16 2019 Bruno Meneguele <bmeneg@redhat.com> [3.10.0-1062.3.1.el7] ... - [fs] iomap: fix page_done callback for short writes (Andreas Grunbacher) [1737373 1724362] - [fs] fs: fold __generic_write_end back into generic_write_end (Andreas Grunbacher) [1737373 1724362] - [fs] iomap: don't mark the inode dirty in iomap_write_end (Andreas Grunbacher) [1737373 1724362] - [fs] gfs2: Fix iomap write page reclaim deadlock (Andreas Grunbacher) [1737373 1724362] - [fs] iomap: Add a page_prepare callback (Andreas Grunbacher) [1737373 1724362] - [fs] iomap: Fix use-after-free error in page_done callback (Andreas Grunbacher) [1737373 1724362] - [fs] fs: Turn __generic_write_end into a void function (Andreas Grunbacher) [1737373 1724362] - [fs] iomap: Clean up __generic_write_end calling (Andreas Grunbacher) [1737373 1724362] |
| Comments |
| Comment by Olaf Faaland [ 28/Oct/19 ] |
|
It looks to me like osd-zfs doesn't depend on iomap. Am I missing something? [root@solfish1:~]# for x in /repo/yum/ch6-l212-chaotic/x86_64/os/kmod*osd*; do echo ${x} $(rpm -q --requires --package ${x} | grep iomap | wc -l); done
/repo/yum/ch6-l212-chaotic/x86_64/os/kmod-lustre-osd-ldiskfs-2.12.3_1.chaos-1.ch6.x86_64.rpm 5
/repo/yum/ch6-l212-chaotic/x86_64/os/kmod-lustre-osd-zfs-2.12.3_1.chaos-1.ch6.x86_64.rpm 0
I'll ask around and see if I can find out whether we need to expect more changes. |
| Comment by Nathaniel Clark [ 29/Oct/19 ] |
|
New kernel only breaks osd-ldiskfs/ldiskfs modules. ZFS is unaffected. I fixed description |
| Comment by Olaf Faaland [ 25/Nov/19 ] |
I did not learn anything of interest. We just rebuilt against the newer kernel. |
| Comment by Andreas Dilger [ 24/Feb/21 ] |
|
These kernels and Lustre releases are no longer of interest to anyone. |