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.)