[LU-13467]  truncate deadlock with DoM files Created: 20/Apr/20  Updated: 08/Aug/21  Resolved: 19/Jun/20

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

Type: Bug Priority: Minor
Reporter: Andriy Skulysh Assignee: Andriy Skulysh
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Related
is related to LU-12017 Truncate vs setxattr deadlock with DoM Resolved
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   
PID: 8441   TASK: ffff88aa0f7da080  CPU: 0   COMMAND: "truncate"
 #0 [ffff88aa0a52fb38] __schedule at ffffffff8db67747
 #1 [ffff88aa0a52fbc8] schedule_preempt_disabled at ffffffff8db68b69
 #2 [ffff88aa0a52fbd8] __mutex_lock_slowpath at ffffffff8db66ab7
 #3 [ffff88aa0a52fc38] mutex_lock at ffffffff8db65e9f
 #4 [ffff88aa0a52fc50] vvp_io_setattr_start at ffffffffc0cd14f6 [lustre]
 #5 [ffff88aa0a52fc88] cl_io_start at ffffffffc089f188 [obdclass]
 #6 [ffff88aa0a52fcb0] cl_io_loop at ffffffffc08a146c [obdclass]
 #7 [ffff88aa0a52fce0] cl_setattr_ost at ffffffffc0ccc38f [lustre]
 #8 [ffff88aa0a52fd30] ll_setattr_raw at ffffffffc0ca76e8 [lustre]
 #9 [ffff88aa0a52fdf0] ll_setattr at ffffffffc0ca7ae3 [lustre]
#10 [ffff88aa0a52fe00] notify_change at ffffffff8d660524
#11 [ffff88aa0a52fe48] do_truncate at ffffffff8d63f335
#12 [ffff88aa0a52fec0] vfs_truncate at ffffffff8d63f50c
#13 [ffff88aa0a52fef8] do_sys_truncate at ffffffff8d63f5fc
PID: 8525   TASK: ffff88aa0bed5140  CPU: 0   COMMAND: "mv"
 #0 [ffff88aad1b47848] __schedule at ffffffff8db67747
 #1 [ffff88aad1b478d8] schedule at ffffffff8db67c49
 #2 [ffff88aad1b478e8] schedule_timeout at ffffffff8db65668
 #3 [ffff88aad1b47998] ptlrpc_set_wait at ffffffffc0a21740 [ptlrpc]
 #4 [ffff88aad1b47a40] ptlrpc_queue_wait at ffffffffc0a21ad3 [ptlrpc]
 #5 [ffff88aad1b47a60] mdc_reint at ffffffffc0bdb5d2 [mdc]
 #6 [ffff88aad1b47a80] mdc_rename at ffffffffc0bdd2fd [mdc]
 #7 [ffff88aad1b47b30] lmv_rename at ffffffffc0b4e8bc [lmv]
 #8 [ffff88aad1b47c10] ll_rename at ffffffffc0cb8660 [lustre]
 #9 [ffff88aad1b47cc8] vfs_rename at ffffffff8d64f4bd

Truncate unlocks inode mutex in ll_setattr_raw() and tries to lock it again vvp_io_setattr_start() after ldlm lock, while rename takes ldlm lock with locked inode mutex.



 Comments   
Comment by Gerrit Updater [ 20/Apr/20 ]

Andriy Skulysh (c17819@cray.com) uploaded a new patch: https://review.whamcloud.com/38288
Subject: LU-13467 llite: truncate deadlock with DoM files
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: ef5641ea7b4d4b47df6fab4225b89fe6cf23f4f3

Comment by Gerrit Updater [ 19/Jun/20 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/38288/
Subject: LU-13467 llite: truncate deadlock with DoM files
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 8958ecee22010dfa1b99220c2288f7369f490871

Comment by Peter Jones [ 19/Jun/20 ]

Landed for 2.14

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