[LU-15588] osd_trans_stop() misses th_sync flag set in top thandle Created: 23/Feb/22  Updated: 22/Mar/22

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Vladimir Saveliev Assignee: Vladimir Saveliev
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Related
is related to LU-14708 updates to last_rcvd on new client co... Resolved
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

exp_need_sync flag of obd_export is supposed to provide blocking of
modifying rpc processing until mount's update to last_rcvd is
committed.

It does not do so for mdt:

osd_trans_stop() {
    ...
    dt_txn_hook_stop(, struct thandle *th) {
        if (th->th_top != NULL)
            dtc_th = th->th_top;
        cb->dtc_txn_stop(dtc_th); /* th_sync of top thandle gets set in tgt_last_rcvd_update called below */
    }

    hdl->h_sync = th->th_sync; /* th_sync is taken from sub thandle */
}

As result, ldiskfs_journal_stop() does not do commit.



 Comments   
Comment by Gerrit Updater [ 23/Feb/22 ]

"Vladimir Saveliev <vlaidimir.saveliev@hpe.com>" uploaded a new patch: https://review.whamcloud.com/46596
Subject: LU-15588 obdclass: transfer th_sync flag to sub thandle
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 80bc51e7884d270dacc2c0aeba150079ad4dec36

Generated at Sat Feb 10 03:19:36 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.