Dear develops, I go through the files (hashIndex, LFNIndex and CollectionIndex), I cannot find any parameters need to grasp a lock. And basically, (hashIndex, LFNIndex and CollectionIndex) is used to manage a collection of objects. Thus, just in one case, when the spilt or merge is on going, then lookup() path function is called to get the object path. It may obtain a wrong path, right? If so, why not using a state parameter in the class CollectionIndex or HashIndex indicating the current state of this collection (split, merge on going or none) and grasp a lock when the state changes. Why always lock the index before lookup() path or lfn_find()? Any other reasons? Nicheal -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html