Skip to content

[rocky8_10] Hisotry rebuild to kernel-4.18.0-553.50.1.el8_10 #227

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 32 commits into from
Apr 23, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
a3b9978
gfs2: Remove misleading comments in gfs2_evict_inode
PlaidCat Apr 22, 2025
2eb7176
gfs2: gfs2_evict_inode clarification
PlaidCat Apr 22, 2025
1cd0f7c
gfs2: fix a deadlock on withdraw-during-mount
PlaidCat Apr 22, 2025
889aae6
gfs2: Clear flags when withdraw prevents xmote
PlaidCat Apr 22, 2025
8c159e0
gfs2: do_xmote fixes
PlaidCat Apr 22, 2025
a537810
gfs2: Remove and replace gfs2_glock_queue_work
PlaidCat Apr 22, 2025
38136a2
gfs2: Add GLF_PENDING_REPLY flag
PlaidCat Apr 22, 2025
4ba5aa3
gfs2: Replace GIF_DEFER_DELETE with GLF_DEFER_DELETE
PlaidCat Apr 22, 2025
2da7644
gfs2: Remove LM_FLAG_PRIORITY flag
PlaidCat Apr 22, 2025
3c664df
gfs2: remove dead code in add_to_queue
PlaidCat Apr 22, 2025
6d7590b
gfs2: Remove more dead code in add_to_queue
PlaidCat Apr 22, 2025
9aed4f8
gfs2: Check for empty queue in run_queue
PlaidCat Apr 22, 2025
bf7d04d
gfs2: Fix request cancelation bug
PlaidCat Apr 22, 2025
5f39ff0
gfs2: Fix additional unlikely request cancelation race
PlaidCat Apr 22, 2025
49f9b12
gfs2: Prevent inode creation race (2)
PlaidCat Apr 22, 2025
7465e1e
gfs2: minor evict fix
PlaidCat Apr 22, 2025
831f2f2
gfs2: remove redundant warnings
PlaidCat Apr 22, 2025
24bb351
gfs2: skip if we cannot defer delete
PlaidCat Apr 22, 2025
73e057f
x86/xen: use new hypercall functions instead of hypercall page
PlaidCat Apr 22, 2025
4226794
x86/xen: remove hypercall page
PlaidCat Apr 22, 2025
2b70805
md-bitmap: set BITMAP_WRITE_ERROR in write_sb_page
PlaidCat Apr 22, 2025
7b080ba
md-bitmap: initialize variables at declaration time in md_bitmap_file…
PlaidCat Apr 22, 2025
061ffc0
md-bitmap: use %pD to print the file name in md_bitmap_file_kick
PlaidCat Apr 22, 2025
623a8d4
md/md-bitmap: fix writing non bitmap pages
PlaidCat Apr 22, 2025
dbd19fa
net/mlx5: Fix error path in multi-packet WQE transmit
PlaidCat Apr 22, 2025
40389ce
ice: add ice_adapter for shared data across PFs on the same NIC
PlaidCat Apr 22, 2025
5281e2b
ice: avoid the PTP hardware semaphore in gettimex64 path
PlaidCat Apr 22, 2025
ee3a591
ice: fold ice_ptp_read_time into ice_ptp_gettimex64
PlaidCat Apr 22, 2025
9e2ade3
scsi: storvsc: Set correct data length for sending SCSI command witho…
PlaidCat Apr 22, 2025
9b9d574
ALSA: usb-audio: Fix out of bounds reads when finding clock sources
PlaidCat Apr 22, 2025
d6322e8
perf debug: Set debug_peo_args and redirect_to_stderr variable to cor…
PlaidCat Apr 22, 2025
32fa0f4
Rebuild rocky8_10 with kernel-4.18.0-553.50.1.el8_10
PlaidCat Apr 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions Documentation/filesystems/gfs2-glocks.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@ The gl_holders list contains all the queued lock requests (not
just the holders) associated with the glock. If there are any
held locks, then they will be contiguous entries at the head
of the list. Locks are granted in strictly the order that they
are queued, except for those marked LM_FLAG_PRIORITY which are
used only during recovery, and even then only for journal locks.
are queued.

There are three lock states that users of the glock layer can request,
namely shared (SH), deferred (DF) and exclusive (EX). Those translate
Expand Down
2 changes: 1 addition & 1 deletion Makefile.rhelver
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ RHEL_MINOR = 10
#
# Use this spot to avoid future merge conflicts.
# Do not trim this comment.
RHEL_RELEASE = 553.47.1
RHEL_RELEASE = 553.50.1

#
# ZSTREAM
Expand Down
34 changes: 22 additions & 12 deletions arch/x86/include/asm/xen/hypercall.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,12 @@

#include <trace/events/xen.h>

#include <asm/alternative.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/smap.h>
#include <asm/nospec-branch.h>
#include <asm/processor.h>

#include <xen/interface/xen.h>
#include <xen/interface/sched.h>
Expand Down Expand Up @@ -86,11 +88,19 @@ struct xen_dm_op_buf;
* there aren't more than 5 arguments...)
*/

extern struct { char _entry[32]; } hypercall_page[];
/* RHEL-only: x86_64 Xen HVM only implementation! */
#define __XEN_STR(x) #x
#define __XEN_XSTR(s) __XEN_STR(s)

#define __HYPERCALL "call hypercall_page+%c[offset]"
#define __HYPERCALL_ENTRY(x) \
[offset] "i" (__HYPERVISOR_##x * sizeof(hypercall_page[0]))
#define __HYPERCALL \
"cmpq $"__XEN_XSTR(X86_VENDOR_INTEL)", %%rcx \n"\
"jne 1f \n" \
"vmcall \n" \
"jmp 2f \n" \
"1: vmmcall \n" \
"2: \n"

#define __HYPERCALL_ENTRY(x) "a" (x), "c" (boot_cpu_data.x86_vendor)

#ifdef CONFIG_X86_32
#define __HYPERCALL_RETREG "eax"
Expand Down Expand Up @@ -148,7 +158,7 @@ extern struct { char _entry[32]; } hypercall_page[];
__HYPERCALL_0ARG(); \
asm volatile (__HYPERCALL \
: __HYPERCALL_0PARAM \
: __HYPERCALL_ENTRY(name) \
: __HYPERCALL_ENTRY(__HYPERVISOR_ ## name) \
: __HYPERCALL_CLOBBER0); \
(type)__res; \
})
Expand All @@ -159,7 +169,7 @@ extern struct { char _entry[32]; } hypercall_page[];
__HYPERCALL_1ARG(a1); \
asm volatile (__HYPERCALL \
: __HYPERCALL_1PARAM \
: __HYPERCALL_ENTRY(name) \
: __HYPERCALL_ENTRY(__HYPERVISOR_ ## name) \
: __HYPERCALL_CLOBBER1); \
(type)__res; \
})
Expand All @@ -170,7 +180,7 @@ extern struct { char _entry[32]; } hypercall_page[];
__HYPERCALL_2ARG(a1, a2); \
asm volatile (__HYPERCALL \
: __HYPERCALL_2PARAM \
: __HYPERCALL_ENTRY(name) \
: __HYPERCALL_ENTRY(__HYPERVISOR_ ## name) \
: __HYPERCALL_CLOBBER2); \
(type)__res; \
})
Expand All @@ -181,7 +191,7 @@ extern struct { char _entry[32]; } hypercall_page[];
__HYPERCALL_3ARG(a1, a2, a3); \
asm volatile (__HYPERCALL \
: __HYPERCALL_3PARAM \
: __HYPERCALL_ENTRY(name) \
: __HYPERCALL_ENTRY(__HYPERVISOR_ ## name) \
: __HYPERCALL_CLOBBER3); \
(type)__res; \
})
Expand All @@ -192,7 +202,7 @@ extern struct { char _entry[32]; } hypercall_page[];
__HYPERCALL_4ARG(a1, a2, a3, a4); \
asm volatile (__HYPERCALL \
: __HYPERCALL_4PARAM \
: __HYPERCALL_ENTRY(name) \
: __HYPERCALL_ENTRY(__HYPERVISOR_ ## name) \
: __HYPERCALL_CLOBBER4); \
(type)__res; \
})
Expand All @@ -203,7 +213,7 @@ extern struct { char _entry[32]; } hypercall_page[];
__HYPERCALL_5ARG(a1, a2, a3, a4, a5); \
asm volatile (__HYPERCALL \
: __HYPERCALL_5PARAM \
: __HYPERCALL_ENTRY(name) \
: __HYPERCALL_ENTRY(__HYPERVISOR_ ## name) \
: __HYPERCALL_CLOBBER5); \
(type)__res; \
})
Expand All @@ -218,9 +228,9 @@ privcmd_call(unsigned call,
__HYPERCALL_5ARG(a1, a2, a3, a4, a5);

stac();
asm volatile(CALL_NOSPEC
asm volatile(__HYPERCALL
: __HYPERCALL_5PARAM
: [thunk_target] "a" (&hypercall_page[call])
: __HYPERCALL_ENTRY(call)
: __HYPERCALL_CLOBBER5);
clac();

Expand Down
2 changes: 0 additions & 2 deletions arch/x86/xen/enlighten.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@
#include "smp.h"
#include "pmu.h"

EXPORT_SYMBOL_GPL(hypercall_page);

/*
* Pointer to the xen_vcpu_info structure or
* &HYPERVISOR_shared_info->vcpu_info[cpu]. See xen_hvm_init_shared_info
Expand Down
9 changes: 1 addition & 8 deletions arch/x86/xen/enlighten_hvm.c
Original file line number Diff line number Diff line change
Expand Up @@ -97,15 +97,8 @@ static void __init init_hvm_pv_info(void)
/* PVH set up hypercall page in xen_prepare_pvh(). */
if (xen_pvh_domain())
pv_info.name = "Xen PVH";
else {
u64 pfn;
uint32_t msr;

else
pv_info.name = "Xen HVM";
msr = cpuid_ebx(base + 2);
pfn = __pa(hypercall_page);
wrmsr_safe(msr, (u32)pfn, (u32)(pfn >> 32));
}

xen_setup_features();

Expand Down
7 changes: 0 additions & 7 deletions arch/x86/xen/enlighten_pvh.c
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,6 @@ static void __init init_pvh_bootparams(void)
*/
void __init xen_prepare_pvh(void)
{
u32 msr;
u64 pfn;

if (pvh_start_info.magic != XEN_HVM_START_MAGIC_VALUE) {
xen_raw_printk("Error: Unexpected magic value (0x%08x)\n",
pvh_start_info.magic);
Expand All @@ -100,9 +97,5 @@ void __init xen_prepare_pvh(void)
xen_pvh = 1;
xen_start_flags = pvh_start_info.flags;

msr = cpuid_ebx(xen_cpuid_base() + 2);
pfn = __pa(hypercall_page);
wrmsr_safe(msr, (u32)pfn, (u32)(pfn >> 32));

init_pvh_bootparams();
}
17 changes: 0 additions & 17 deletions arch/x86/xen/xen-head.S
Original file line number Diff line number Diff line change
Expand Up @@ -56,22 +56,6 @@ SYM_CODE_END(startup_xen)
__FINIT
#endif

.pushsection .text
.balign PAGE_SIZE
SYM_CODE_START(hypercall_page)
.rept (PAGE_SIZE / 32)
UNWIND_HINT_EMPTY
.skip 32
.endr

#define HYPERCALL(n) \
.equ xen_hypercall_##n, hypercall_page + __HYPERVISOR_##n * 32; \
.type xen_hypercall_##n, @function; .size xen_hypercall_##n, 32
#include <asm/xen-hypercalls.h>
#undef HYPERCALL
SYM_CODE_END(hypercall_page)
.popsection

ELFNOTE(Xen, XEN_ELFNOTE_GUEST_OS, .asciz "linux")
ELFNOTE(Xen, XEN_ELFNOTE_GUEST_VERSION, .asciz "2.6")
ELFNOTE(Xen, XEN_ELFNOTE_XEN_VERSION, .asciz "xen-3.0")
Expand All @@ -85,7 +69,6 @@ SYM_CODE_END(hypercall_page)
#ifdef CONFIG_XEN_PV
ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, _ASM_PTR startup_xen)
#endif
ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, _ASM_PTR hypercall_page)
ELFNOTE(Xen, XEN_ELFNOTE_FEATURES,
.ascii "!writable_page_tables|pae_pgdir_above_4gb")
ELFNOTE(Xen, XEN_ELFNOTE_SUPPORTED_FEATURES,
Expand Down
32 changes: 16 additions & 16 deletions certs/rhel.pem
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
-----BEGIN CERTIFICATE-----
MIIFCTCCA/GgAwIBAgIBIjANBgkqhkiG9w0BAQsFADCB1DELMAkGA1UEBhMCVVMx
MIIFCTCCA/GgAwIBAgIBNzANBgkqhkiG9w0BAQsFADCB1DELMAkGA1UEBhMCVVMx
ETAPBgNVBAgMCERlbGF3YXJlMQ4wDAYDVQQHDAVEb3ZlcjEtMCsGA1UECgwkUm9j
a3kgRW50ZXJwcmlzZSBTb2Z0d2FyZSBGb3VuZGF0aW9uMSEwHwYDVQQLDBhSZWxl
YXNlIGVuZ2luZWVyaW5nIHRlYW0xKDAmBgNVBAMMH1JvY2t5IExpbnV4IFNlY3Vy
ZSBCb290IFJvb3QgQ0ExJjAkBgkqhkiG9w0BCQEWF3NlY3VyaXR5QHJvY2t5bGlu
dXgub3JnMB4XDTI0MDQwNDAwMzM0OVoXDTI1MDQwNDAwMzM0OVowgdgxCzAJBgNV
dXgub3JnMB4XDTI1MDQxMDIxMjIzN1oXDTI2MDQxMDIxMjIzN1owgdgxCzAJBgNV
BAYTAlVTMREwDwYDVQQIDAhEZWxhd2FyZTEOMAwGA1UEBwwFRG92ZXIxLTArBgNV
BAoMJFJvY2t5IEVudGVycHJpc2UgU29mdHdhcmUgRm91bmRhdGlvbjEhMB8GA1UE
CwwYUmVsZWFzZSBlbmdpbmVlcmluZyB0ZWFtMSwwKgYDVQQDDCNSb2NreSBMaW51
Expand All @@ -20,20 +20,20 @@ IALu0fDg9joHwYb9aaU4vCHhgddYtCqs491NIzoK6wEMa3lIKsW1qeKW6eeRWf/0
2f6kup3mBZYupayJMU3xtD7p849dJdPPTVJwcZUcRFRCXcAFPHKGfg1MtdhSrIRO
TjMCAwEAAaNgMF4wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0O
BBYEFM5TfwxhXAOBFKy7ASM6W2K5OhlxMB8GA1UdIwQYMBaAFEwsa9fWTugVgcq4
6YZmH2XiFm/EMA0GCSqGSIb3DQEBCwUAA4IBAQA+3NhUBeJxOJ80q9rHJmN6nypr
xUbZFs4SELumPQFcr5OViiyZc2scAd9VPtb8IaIu5kcvWChozvgcq8nKQnPPIglQ
UlS2qcJ5o9YI4dc7IoxbcojykusicxOCIgJecVOVirOGd40Lz4pSGVpI6yaruXiI
anQ9Ve+tJBmKMnN5wXvMnpA1lqO/nzvv9fvbU/8Y/VUFmNNoOs8miP/O4uVbd2uZ
JGsGjonO3kGdFMd1Wy7e52A9aOP44qEHOb7/B6MD+RzAyvbUBpYPQENTQlE/vmeG
4u/bjR9073kgoFFFNp3OL08KGIfUtlGj4xdhPDi+pu13JaiDzd7ZmYrE+ktZ
6YZmH2XiFm/EMA0GCSqGSIb3DQEBCwUAA4IBAQDVY7myBpeNL7/MYZ+XAUvySePi
mATYLRmSCnmJMA+gOzoaAAZo3iPBhFTGzjiExPKI6A8eHjeF9d3m9MhhQQ8laitU
4ZCyCzIcVrtiBwCfl+Mkn5ZkdvP4K4Ft74cVob7rr4mbTKwhD+HRJ7zDtIble6dQ
6yUVpcGqvAxAPXVCHX9ey94mF7qFwDofEmVnuapHNT2ytRNNa2hTlgh2NWBkD8YA
QdIPYZR0R9VaObBQ+kGLS07QZcr65tFuzwkCTNIEMVC4Ome4TKqx+1rPrOj2WvsD
0dmNvE91vzvkFPOCZUPw/E2asMufiFBujv1PCNQfSsdpts6Kc17lpGTxfPns
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFCTCCA/GgAwIBAgIBJjANBgkqhkiG9w0BAQsFADCB1DELMAkGA1UEBhMCVVMx
MIIFCTCCA/GgAwIBAgIBQDANBgkqhkiG9w0BAQsFADCB1DELMAkGA1UEBhMCVVMx
ETAPBgNVBAgMCERlbGF3YXJlMQ4wDAYDVQQHDAVEb3ZlcjEtMCsGA1UECgwkUm9j
a3kgRW50ZXJwcmlzZSBTb2Z0d2FyZSBGb3VuZGF0aW9uMSEwHwYDVQQLDBhSZWxl
YXNlIGVuZ2luZWVyaW5nIHRlYW0xKDAmBgNVBAMMH1JvY2t5IExpbnV4IFNlY3Vy
ZSBCb290IFJvb3QgQ0ExJjAkBgkqhkiG9w0BCQEWF3NlY3VyaXR5QHJvY2t5bGlu
dXgub3JnMB4XDTI0MDQwNDAwMzM0OVoXDTI1MDQwNDAwMzM0OVowgdgxCzAJBgNV
dXgub3JnMB4XDTI1MDQxMDIxMjIzN1oXDTI2MDQxMDIxMjIzN1owgdgxCzAJBgNV
BAYTAlVTMREwDwYDVQQIDAhEZWxhd2FyZTEOMAwGA1UEBwwFRG92ZXIxLTArBgNV
BAoMJFJvY2t5IEVudGVycHJpc2UgU29mdHdhcmUgRm91bmRhdGlvbjEhMB8GA1UE
CwwYUmVsZWFzZSBlbmdpbmVlcmluZyB0ZWFtMSwwKgYDVQQDDCNSb2NreSBMaW51
Expand All @@ -49,10 +49,10 @@ ZVHvTTCfSTPYYhtepZYMINuaWIbX3DD3wMOEK2kmNU5Qjg459RDZMb0Rl/PhbGuS
F/GbkOVQhllENKjAxsGFi+IfApB2Dvz+EyWouvQlKDRBw5G0KHqauy/aWkeWeRzp
n3kCAwEAAaNgMF4wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0O
BBYEFLXuB8c35X7L6u1JOlE3l2OwYxLFMB8GA1UdIwQYMBaAFEwsa9fWTugVgcq4
6YZmH2XiFm/EMA0GCSqGSIb3DQEBCwUAA4IBAQAAnyGNChwn8gs0srrl/F8h0yJO
2SAcb+wMq0TypF0TuTCFWZL6ICCQ30HNXi7RSyajF/qa3xspXQv7Klu/uguW5SOz
DCpx/YDp2VABTQtOWrsJXYmqicmeaNipfIhUJCrS/opPASQv1CQxl7JSSKlJDYtx
jzE7QG3ptd8xBWj9RsVxpoeoF2qhv1A0VBmb5WUYp5w9S4TGL34U1fWTkEnLk+sy
vMPYZ0FOYWF8o133kJTcjwXWPjVPW1L4evyTGzguju9eZP3OiCBxbjYwi43p4HlK
3K8UhkhoCsIWT6Ucj3OFcZ3MUQXGxOa8BZEV4TdyPUFvtahlOIgfqMbxK12g
6YZmH2XiFm/EMA0GCSqGSIb3DQEBCwUAA4IBAQAnLU6i0W3QLQtwlsaFpMMCVSJx
YtqsAjvQ60YohSovZXj9sTU7AADdNRn23rMMSmO1gTQY59JyQluvfjLZ4lkSJiZd
dIHiT1v1LJ6eyIAmLmIRAEJxIvGPzcCevnSutWHrU9jK7X9mt+hnmfcSmQ1naXwn
voVGKaIX6yWLIoXSpEMZQjpb9dhWvKPeCo5bvSK4HCWj2NBDAoCC5+Z60Waufjh9
DdlYJMkVRYn1hcHMsbjsggcIFYLOfbbW38zVCVsG5nmB7fsmyIxA3kuN+Gx+qurs
diLX6L4StfQBmZHZBf/oapwcxCY+pWL2zyu6LzC12eDMtdfUNTWBKkFu/6vT
-----END CERTIFICATE-----
63 changes: 63 additions & 0 deletions ciq/ciq_backports/kernel-4.18.0-553.50.1.el8_10/0360faca.failed
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
gfs2: Remove more dead code in add_to_queue

jira LE-2815
Rebuild_History Non-Buildable kernel-4.18.0-553.50.1.el8_10
commit-author Andreas Gruenbacher <[email protected]>
commit 0360faca5d4dfc18d06644c7661cea1dc2b44dcf
Empty-Commit: Cherry-Pick Conflicts during history rebuild.
Will be included in final tarball splat. Ref for failed cherry-pick at:
ciq/ciq_backports/kernel-4.18.0-553.50.1.el8_10/0360faca.failed

Remove some more dead code in add_to_queue() that commit 0b93bac2271e
("gfs2: Remove LM_FLAG_PRIORITY flag") has rendered obsolete. This is a
continuation of commit 3302764610057 ("gfs2: remove dead code in
add_to_queue"); no functional change.

Signed-off-by: Andreas Gruenbacher <[email protected]>
(cherry picked from commit 0360faca5d4dfc18d06644c7661cea1dc2b44dcf)
Signed-off-by: Jonathan Maple <[email protected]>

# Conflicts:
# fs/gfs2/glock.c
diff --cc fs/gfs2/glock.c
index 5dc035ea3dca,dd82bc27c27a..000000000000
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@@ -1503,29 -1518,11 +1502,36 @@@ fail
gfs2_holder_wake(gh);
return;
}
++<<<<<<< HEAD
+ if (test_bit(HIF_HOLDER, &gh2->gh_iflags))
+ continue;
+ if (unlikely((gh->gh_flags & LM_FLAG_PRIORITY) && !insert_pt))
+ insert_pt = &gh2->gh_list;
++=======
++>>>>>>> 0360faca5d4d (gfs2: Remove more dead code in add_to_queue)
}
trace_gfs2_glock_queue(gh, 1);
gfs2_glstats_inc(gl, GFS2_LKS_QCOUNT);
gfs2_sbstats_inc(gl, GFS2_LKS_QCOUNT);
++<<<<<<< HEAD
+ if (likely(insert_pt == NULL)) {
+ list_add_tail(&gh->gh_list, &gl->gl_holders);
+ if (unlikely(gh->gh_flags & LM_FLAG_PRIORITY))
+ goto do_cancel;
+ return;
+ }
+ list_add_tail(&gh->gh_list, insert_pt);
+do_cancel:
+ gh = list_first_entry(&gl->gl_holders, struct gfs2_holder, gh_list);
+ if (!(gh->gh_flags & LM_FLAG_PRIORITY)) {
+ spin_unlock(&gl->gl_lockref.lock);
+ if (sdp->sd_lockstruct.ls_ops->lm_cancel)
+ sdp->sd_lockstruct.ls_ops->lm_cancel(gl);
+ spin_lock(&gl->gl_lockref.lock);
+ }
++=======
+ list_add_tail(&gh->gh_list, &gl->gl_holders);
++>>>>>>> 0360faca5d4d (gfs2: Remove more dead code in add_to_queue)
return;

trap_recursive:
* Unmerged path fs/gfs2/glock.c
66 changes: 66 additions & 0 deletions ciq/ciq_backports/kernel-4.18.0-553.50.1.el8_10/03ff3781.failed
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
gfs2: gfs2_evict_inode clarification

jira LE-2815
Rebuild_History Non-Buildable kernel-4.18.0-553.50.1.el8_10
commit-author Andreas Gruenbacher <[email protected]>
commit 03ff3781bf6c149554d88e7b702a3abd5e400dc0
Empty-Commit: Cherry-Pick Conflicts during history rebuild.
Will be included in final tarball splat. Ref for failed cherry-pick at:
ciq/ciq_backports/kernel-4.18.0-553.50.1.el8_10/03ff3781.failed

When function evict_should_delete() returns SHOULD_DEFER_EVICTION, gh is
never initialized, but that isn't obvious; if it did initialize gh and
then return SHOULD_DEFER_EVICTION, gfs2_evict_inode() would fail to
release it. To clarify the code, change gfs2_evict_inode() to always
check if gh needs to be released, no matter what evict_should_delete()
returns.

Signed-off-by: Andreas Gruenbacher <[email protected]>
(cherry picked from commit 03ff3781bf6c149554d88e7b702a3abd5e400dc0)
Signed-off-by: Jonathan Maple <[email protected]>

# Conflicts:
# fs/gfs2/super.c
diff --cc fs/gfs2/super.c
index ab6dba97d184,aadb83e38c17..000000000000
--- a/fs/gfs2/super.c
+++ b/fs/gfs2/super.c
@@@ -1531,18 -1498,15 +1532,17 @@@ static void gfs2_evict_inode(struct ino
if (!sdp->sd_jdesc)
goto out;

- gfs2_holder_mark_uninitialized(&gh);
behavior = evict_should_delete(inode, &gh);
- if (behavior == EVICT_SHOULD_DEFER_DELETE &&
- !test_bit(SDF_KILL, &sdp->sd_flags)) {
+ if (behavior == EVICT_SHOULD_DEFER_DELETE) {
struct gfs2_glock *io_gl = ip->i_iopen_gh.gh_gl;

- gfs2_glock_hold(io_gl);
- if (!gfs2_queue_verify_delete(io_gl, true))
- gfs2_glock_put(io_gl);
- goto out;
+ if (io_gl) {
+ gfs2_glock_hold(io_gl);
+ if (!gfs2_queue_verify_delete(io_gl))
+ gfs2_glock_put(io_gl);
+ goto out;
+ }
+ behavior = EVICT_SHOULD_DELETE;
}
if (behavior == EVICT_SHOULD_DELETE)
ret = evict_unlinked_inode(inode);
@@@ -1555,9 -1519,8 +1555,12 @@@
if (ret && ret != GLR_TRYFAILED && ret != -EROFS)
fs_warn(sdp, "gfs2_evict_inode: %d\n", ret);
out:
++<<<<<<< HEAD
+ /* Case 3 starts here */
++=======
+ if (gfs2_holder_initialized(&gh))
+ gfs2_glock_dq_uninit(&gh);
++>>>>>>> 03ff3781bf6c (gfs2: gfs2_evict_inode clarification)
truncate_inode_pages_final(&inode->i_data);
if (ip->i_qadata)
gfs2_assert_warn(sdp, ip->i_qadata->qa_ref == 0);
* Unmerged path fs/gfs2/super.c
Loading