hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/fs/dlm/lock.c
....@@ -1856,7 +1856,7 @@
18561856 void dlm_scan_timeout(struct dlm_ls *ls)
18571857 {
18581858 struct dlm_rsb *r;
1859
- struct dlm_lkb *lkb;
1859
+ struct dlm_lkb *lkb = NULL, *iter;
18601860 int do_cancel, do_warn;
18611861 s64 wait_us;
18621862
....@@ -1867,27 +1867,28 @@
18671867 do_cancel = 0;
18681868 do_warn = 0;
18691869 mutex_lock(&ls->ls_timeout_mutex);
1870
- list_for_each_entry(lkb, &ls->ls_timeout, lkb_time_list) {
1870
+ list_for_each_entry(iter, &ls->ls_timeout, lkb_time_list) {
18711871
18721872 wait_us = ktime_to_us(ktime_sub(ktime_get(),
1873
- lkb->lkb_timestamp));
1873
+ iter->lkb_timestamp));
18741874
1875
- if ((lkb->lkb_exflags & DLM_LKF_TIMEOUT) &&
1876
- wait_us >= (lkb->lkb_timeout_cs * 10000))
1875
+ if ((iter->lkb_exflags & DLM_LKF_TIMEOUT) &&
1876
+ wait_us >= (iter->lkb_timeout_cs * 10000))
18771877 do_cancel = 1;
18781878
1879
- if ((lkb->lkb_flags & DLM_IFL_WATCH_TIMEWARN) &&
1879
+ if ((iter->lkb_flags & DLM_IFL_WATCH_TIMEWARN) &&
18801880 wait_us >= dlm_config.ci_timewarn_cs * 10000)
18811881 do_warn = 1;
18821882
18831883 if (!do_cancel && !do_warn)
18841884 continue;
1885
- hold_lkb(lkb);
1885
+ hold_lkb(iter);
1886
+ lkb = iter;
18861887 break;
18871888 }
18881889 mutex_unlock(&ls->ls_timeout_mutex);
18891890
1890
- if (!do_cancel && !do_warn)
1891
+ if (!lkb)
18911892 break;
18921893
18931894 r = lkb->lkb_resource;
....@@ -5241,21 +5242,18 @@
52415242
52425243 static struct dlm_lkb *find_resend_waiter(struct dlm_ls *ls)
52435244 {
5244
- struct dlm_lkb *lkb;
5245
- int found = 0;
5245
+ struct dlm_lkb *lkb = NULL, *iter;
52465246
52475247 mutex_lock(&ls->ls_waiters_mutex);
5248
- list_for_each_entry(lkb, &ls->ls_waiters, lkb_wait_reply) {
5249
- if (lkb->lkb_flags & DLM_IFL_RESEND) {
5250
- hold_lkb(lkb);
5251
- found = 1;
5248
+ list_for_each_entry(iter, &ls->ls_waiters, lkb_wait_reply) {
5249
+ if (iter->lkb_flags & DLM_IFL_RESEND) {
5250
+ hold_lkb(iter);
5251
+ lkb = iter;
52525252 break;
52535253 }
52545254 }
52555255 mutex_unlock(&ls->ls_waiters_mutex);
52565256
5257
- if (!found)
5258
- lkb = NULL;
52595257 return lkb;
52605258 }
52615259
....@@ -5914,37 +5912,36 @@
59145912 int mode, uint32_t flags, void *name, unsigned int namelen,
59155913 unsigned long timeout_cs, uint32_t *lkid)
59165914 {
5917
- struct dlm_lkb *lkb;
5915
+ struct dlm_lkb *lkb = NULL, *iter;
59185916 struct dlm_user_args *ua;
59195917 int found_other_mode = 0;
5920
- int found = 0;
59215918 int rv = 0;
59225919
59235920 mutex_lock(&ls->ls_orphans_mutex);
5924
- list_for_each_entry(lkb, &ls->ls_orphans, lkb_ownqueue) {
5925
- if (lkb->lkb_resource->res_length != namelen)
5921
+ list_for_each_entry(iter, &ls->ls_orphans, lkb_ownqueue) {
5922
+ if (iter->lkb_resource->res_length != namelen)
59265923 continue;
5927
- if (memcmp(lkb->lkb_resource->res_name, name, namelen))
5924
+ if (memcmp(iter->lkb_resource->res_name, name, namelen))
59285925 continue;
5929
- if (lkb->lkb_grmode != mode) {
5926
+ if (iter->lkb_grmode != mode) {
59305927 found_other_mode = 1;
59315928 continue;
59325929 }
59335930
5934
- found = 1;
5935
- list_del_init(&lkb->lkb_ownqueue);
5936
- lkb->lkb_flags &= ~DLM_IFL_ORPHAN;
5937
- *lkid = lkb->lkb_id;
5931
+ lkb = iter;
5932
+ list_del_init(&iter->lkb_ownqueue);
5933
+ iter->lkb_flags &= ~DLM_IFL_ORPHAN;
5934
+ *lkid = iter->lkb_id;
59385935 break;
59395936 }
59405937 mutex_unlock(&ls->ls_orphans_mutex);
59415938
5942
- if (!found && found_other_mode) {
5939
+ if (!lkb && found_other_mode) {
59435940 rv = -EAGAIN;
59445941 goto out;
59455942 }
59465943
5947
- if (!found) {
5944
+ if (!lkb) {
59485945 rv = -ENOENT;
59495946 goto out;
59505947 }