Details
-
Bug
-
Resolution: Fixed
-
Major
-
None
-
None
-
3
-
9223372036854775807
Description
A fiemap call may deadlock due to wrongly requesting an ldlm lock at server while the same lock is cached and pinned at the client. Two PR lock requests are compatible so the deadlock also needs a concurrent write lock.
osc_object_fiemap() reuses the same ll_fiemap_info_key object for all OST_GET_INFO RPCs and once it gets OBD_FL_SRVLOCK flag set, it never gets cleared causing all subsequent OST_GET_INFO RPCs to request server LDLM locks regardless of the local locks caching status.