[LU-13276] Potential infinite loop in push target resize code Created: 20/Feb/20  Updated: 05/Mar/20  Resolved: 05/Mar/20

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.14.0

Type: Bug Priority: Minor
Reporter: Chris Horn Assignee: Chris Horn
Resolution: Fixed Votes: 0
Labels: None

Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   
int lnet_push_target_resize(void)
{
...
        int nnis = the_lnet.ln_push_target_nnis;
...
again:
...
        if (nnis < the_lnet.ln_push_target_nnis)
                goto again;

Looks like an infinite loop if we hit the condition for the "goto again" since we don't update the local nnis variable.



 Comments   
Comment by Gerrit Updater [ 21/Feb/20 ]

Chris Horn (chris.horn@hpe.com) uploaded a new patch: https://review.whamcloud.com/37676
Subject: LU-13276 lnet: Update nnis to avoid infinite loop
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 8d96237fcb35870c0c225807c5356bfb664e9858

Comment by Gerrit Updater [ 05/Mar/20 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/37676/
Subject: LU-13276 lnet: Update nnis to avoid infinite loop
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: d2631a28541ee0cdc8aef3bee8ebb329b048a42c

Comment by Peter Jones [ 05/Mar/20 ]

Landed for 2.14

Generated at Sat Feb 10 02:59:54 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.