Displaying 2 results from an estimated 2 matches for "qs_hb_bm".
2023 Jun 27
0
[PATCH] fs: ocfs: fix potential deadlock on &qs->qs_lock
...2quo_make_decision(struct work_struct *work)
int quorum;
int lowest_hb, lowest_reachable = 0, fence = 0;
struct o2quo_state *qs = &o2quo_state;
+ unsigned long flags;
- spin_lock(&qs->qs_lock);
+ spin_lock_irqsave(&qs->qs_lock, flags);
lowest_hb = find_first_bit(qs->qs_hb_bm, O2NM_MAX_NODES);
if (lowest_hb != O2NM_MAX_NODES)
@@ -146,14 +147,14 @@ static void o2quo_make_decision(struct work_struct *work)
out:
if (fence) {
- spin_unlock(&qs->qs_lock);
+ spin_unlock_irqrestore(&qs->qs_lock, flags);
o2quo_fence_self();
} else {
mlog(ML_NOTICE...
2023 Jun 27
0
[PATCH] fs: ocfs: fix potential deadlock on &qs->qs_lock
...2quo_make_decision(struct work_struct *work)
int quorum;
int lowest_hb, lowest_reachable = 0, fence = 0;
struct o2quo_state *qs = &o2quo_state;
+ unsigned long flags;
- spin_lock(&qs->qs_lock);
+ spin_lock_irqsave(&qs->qs_lock, flags);
lowest_hb = find_first_bit(qs->qs_hb_bm, O2NM_MAX_NODES);
if (lowest_hb != O2NM_MAX_NODES)
@@ -146,14 +147,14 @@ static void o2quo_make_decision(struct work_struct *work)
out:
if (fence) {
- spin_unlock(&qs->qs_lock);
+ spin_unlock_irqrestore(&qs->qs_lock, flags);
o2quo_fence_self();
} else {
mlog(ML_NOTICE...