Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
3
-
9223372036854775807
Description
The patch at:
http://review.whamcloud.com/#/c/10205/3
Changes handling of IT_OPEN in mdc_enqueue:
if (it != NULL) { LASSERT(policy == NULL); saved_flags |= LDLM_FL_HAS_INTENT; if (it->it_op & (IT_OPEN | IT_UNLINK | IT_GETATTR | IT_READDIR)) policy = &update_policy; else if (it->it_op & IT_LAYOUT) policy = &layout_policy; else if (it->it_op & (IT_GETXATTR | IT_SETXATTR)) policy = &getxattr_policy; else policy = &lookup_policy; }
Previously, IT_OPEN was not special cased, and so used the "lookup_policy".
This means instead of using MDS_INODELOCK_LOOKUP for the inodebits, it uses MDS_INODELOCK_UPDATE.
I am not aware of any bugs this causes, but John Hammond confirmed to me this was a mistake, so I'm going to push a patch to revert that part of the change. (I found this while looking in to an issue, but this turned out not to be the cause of that issue.)
Landed for 2.10