[LU-13935] ofd_attr_set and ofd_destroy do not properly handle object removal Created: 31/Aug/20  Updated: 16/Mar/21  Resolved: 25/Sep/20

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

Type: Bug Priority: Minor
Reporter: Andrew Perepechko Assignee: Andrew Perepechko
Resolution: Fixed Votes: 0
Labels: patch

Issue Links:
Duplicate
Related
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

Improper object existence handling can lead to the following crashes:

[28900.657775] LustreError: 23210:0:(ofd_objects.c:67:ofd_version_get_check()) ASSERTION( ofd_object_exists(fo) ) failed: 
[28900.669678] LustreError: 23210:0:(ofd_objects.c:67:ofd_version_get_check()) LBUG
[28900.677964] Pid: 23210, comm: ll_ost00_740 3.10.0-957.1.3957.1.3.x4.2.24.x86_64 #1 SMP Thu Jun 11 08:32:16 PDT 2020
[28900.689631] Call Trace:
[28900.693153]  [<ffffffffc0c217dc>] libcfs_call_trace+0x8c/0xc0 [libcfs]
[28900.701160]  [<ffffffffc0c2188c>] lbug_with_loc+0x4c/0xa0 [libcfs]
[28900.708353]  [<ffffffffc1641d44>] ofd_version_get_check+0x234/0x240 [ofd]
[28900.716463]  [<ffffffffc1644a7a>] ofd_attr_set+0x8a/0xab0 [ofd]
[28900.723919]  [<ffffffffc163095d>] ofd_setattr_hdl+0x31d/0x950 [ofd]
[28900.731472]  [<ffffffffc11326da>] tgt_request_handle+0x96a/0x15d0 [ptlrpc]
[28900.739588]  [<ffffffffc10d72ee>] ptlrpc_server_handle_request+0x25e/0xb20 [ptlrpc]
[28900.748418]  [<ffffffffc10db888>] ptlrpc_main+0xca8/0x1c80 [ptlrpc]
[28900.756102]  [<ffffffffac8c2016>] kthread+0xe6/0xf0
[28900.762197]  [<ffffffffacf7abdd>] ret_from_fork_nospec_begin+0x7/0x21
[28900.769715]  [<ffffffffffffffff>] 0xffffffffffffffff
[6446627.308614] LustreError: 20786:0:(osd_handler.c:7421:osd_key_exit()) ASSERTION( info->oti_w_locks == 0 ) failed:
[6446627.320126] LustreError: 20786:0:(osd_handler.c:7421:osd_key_exit()) LBUG
[6446627.328410] Pid: 20786, comm: ll_ost00_033 3.10.0-957.1.3957.1.3.x3.4.39.x86_64 #1 SMP Fri Apr 10 11:41:10 CDT 2020
[6446627.340050] Call Trace:
[6446627.343510]  [<ffffffffc0c087cc>] libcfs_call_trace+0x8c/0xc0 [libcfs]
[6446627.351279]  [<ffffffffc0c0887c>] lbug_with_loc+0x4c/0xa0 [libcfs]
[6446627.358871]  [<ffffffffc1c7599f>] osd_key_exit+0xbf/0xc0 [osd_ldiskfs]
[6446627.366529]  [<ffffffffc1235293>] lu_context_exit+0x63/0xd0 [obdclass]
[6446627.374418]  [<ffffffffc1528174>] ptlrpc_main+0xbe4/0x1530 [ptlrpc]
[6446627.382010]  [<ffffffffb34c1c31>] kthread+0xd1/0xe0
[6446627.388174]  [<ffffffffb3b76c1d>] ret_from_fork_nospec_begin+0x7/0x21
[6446627.395997]  [<ffffffffffffffff>] 0xffffffffffffffff

A trivial patch will be uploaded shortly.



 Comments   
Comment by Gerrit Updater [ 31/Aug/20 ]

Andrew Perepechko (andrew.perepechko@hpe.com) uploaded a new patch: https://review.whamcloud.com/39765
Subject: LU-13935 ofd: object removal is not handled properly
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 07e25e67d4db70edfa771e0b8eb613a435183fc5

Comment by Gerrit Updater [ 25/Sep/20 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/39765/
Subject: LU-13935 ofd: object removal is not handled properly
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 5215f11da7747d52f47ad3fd6ae3322b71990b68

Comment by Peter Jones [ 25/Sep/20 ]

Landed for 2.14

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