Details
-
Bug
-
Resolution: Fixed
-
Blocker
-
Lustre 2.10.0, Lustre 2.11.0
-
None
-
2
-
9223372036854775807
Description
Consider the following scenarios:
1) The Thread1 calls osd_attr_set() to set flags on the object. The osd_attr_set() will call the osd_xattr_get() with holding the read mode semaphore on the object::oo_guard.
2) The Thread2 calls osd_declare_destroy() to destroy the object, it will down_write() on the object::oo_gurad, but be blocked by the Thread1's granted read mode semaphore.
3) The osd_xattr_get() triggered by the osd_xattr_set() will also down_read() on the object::oo_guard. But it will be blocked by the Thread2's pending down_write() request.
Then the Thread1 and the Thread2 deadlock.
Attachments
Activity
Link | Original: This issue is related to JFC-26 [ JFC-26 ] |
Fix Version/s | New: Lustre 2.10.4 [ 13691 ] |
Affects Version/s | New: Lustre 2.10.0 [ 12204 ] | |
Affects Version/s | New: Lustre 2.11.0 [ 13091 ] | |
Affects Version/s | Original: LTS [ 13791 ] |
Link | New: This issue is related to JFC-26 [ JFC-26 ] |
Link | New: This issue is related to JFC-20 [ JFC-20 ] |
Resolution | New: Fixed [ 1 ] | |
Status | Original: In Progress [ 3 ] | New: Resolved [ 5 ] |
Affects Version/s | New: LTS [ 13791 ] |
Fix Version/s | Original: Lustre 2.8.0 [ 11113 ] | |
Fix Version/s | Original: Lustre 2.9.0 [ 11891 ] | |
Fix Version/s | Original: Lustre 2.10.0 [ 12204 ] | |
Fix Version/s | Original: Lustre 2.10.1 [ 13090 ] | |
Fix Version/s | Original: Lustre 2.10.2 [ 13494 ] | |
Fix Version/s | Original: Lustre 2.12.0 [ 13495 ] | |
Fix Version/s | Original: Lustre 2.10.3 [ 13591 ] | |
Fix Version/s | Original: Lustre 2.10.4 [ 13691 ] |
Link | Original: This issue is related to BGI-78 [ BGI-78 ] |
Link | New: This issue is related to BGI-78 [ BGI-78 ] |