Skip to content

Commit 148fc01

Browse files
committed
gfs2: Randomize GLF_VERIFY_DELETE work delay
jira LE-3201 Rebuild_History Non-Buildable kernel-rt-4.18.0-553.27.1.rt7.368.el8_10 commit-author Andreas Gruenbacher <[email protected]> commit 085e423 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-rt-4.18.0-553.27.1.rt7.368.el8_10/085e423b.failed Randomize the delay of GLF_VERIFY_DELETE work. This avoids thundering herd problems when multiple nodes schedule that kind of work in response to an inode being unlinked remotely. Signed-off-by: Andreas Gruenbacher <[email protected]> (cherry picked from commit 085e423) Signed-off-by: Jonathan Maple <[email protected]> # Conflicts: # fs/gfs2/glock.c
1 parent c6bb4b3 commit 148fc01

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
gfs2: Randomize GLF_VERIFY_DELETE work delay
2+
3+
jira LE-3201
4+
Rebuild_History Non-Buildable kernel-rt-4.18.0-553.27.1.rt7.368.el8_10
5+
commit-author Andreas Gruenbacher <[email protected]>
6+
commit 085e423b4d51dfe71e1967c9e508d1cb845063d3
7+
Empty-Commit: Cherry-Pick Conflicts during history rebuild.
8+
Will be included in final tarball splat. Ref for failed cherry-pick at:
9+
ciq/ciq_backports/kernel-rt-4.18.0-553.27.1.rt7.368.el8_10/085e423b.failed
10+
11+
Randomize the delay of GLF_VERIFY_DELETE work. This avoids thundering
12+
herd problems when multiple nodes schedule that kind of work in response
13+
to an inode being unlinked remotely.
14+
15+
Signed-off-by: Andreas Gruenbacher <[email protected]>
16+
(cherry picked from commit 085e423b4d51dfe71e1967c9e508d1cb845063d3)
17+
Signed-off-by: Jonathan Maple <[email protected]>
18+
19+
# Conflicts:
20+
# fs/gfs2/glock.c
21+
diff --cc fs/gfs2/glock.c
22+
index b399506f380a,46a6e97cd930..000000000000
23+
--- a/fs/gfs2/glock.c
24+
+++ b/fs/gfs2/glock.c
25+
@@@ -36,6 -33,10 +36,13 @@@
26+
#include <linux/list_sort.h>
27+
#include <linux/lockref.h>
28+
#include <linux/rhashtable.h>
29+
++<<<<<<< HEAD
30+
++=======
31+
+ #include <linux/pid_namespace.h>
32+
+ #include <linux/fdtable.h>
33+
+ #include <linux/file.h>
34+
+ #include <linux/random.h>
35+
++>>>>>>> 085e423b4d51 (gfs2: Randomize GLF_VERIFY_DELETE work delay)
36+
37+
#include "gfs2.h"
38+
#include "incore.h"
39+
@@@ -982,8 -1018,9 +989,13 @@@ static bool gfs2_queue_verify_delete(st
40+
41+
if (test_and_set_bit(GLF_VERIFY_DELETE, &gl->gl_flags))
42+
return false;
43+
++<<<<<<< HEAD
44+
+ return queue_delayed_work(sdp->sd_delete_wq,
45+
+ &gl->gl_delete, 5 * HZ);
46+
++=======
47+
+ delay = later ? HZ + get_random_long() % (HZ * 9) : 0;
48+
+ return queue_delayed_work(sdp->sd_delete_wq, &gl->gl_delete, delay);
49+
++>>>>>>> 085e423b4d51 (gfs2: Randomize GLF_VERIFY_DELETE work delay)
50+
}
51+
52+
static void delete_work_func(struct work_struct *work)
53+
* Unmerged path fs/gfs2/glock.c

0 commit comments

Comments
 (0)