thanks,sage I will look into it soon 2011/5/25 Sage Weil <sage@xxxxxxxxxxxx>: > On Tue, 24 May 2011, huang jun wrote: >> hi,all >> There is an assert(dnl->is_primary()) in function "rejoin_walk()". >> why should the dnl must be primary if we want to continue rejoin >> operation? or the assert() crashed. > > The rejoin_walk() method traverse subtrees for which we are _not_ auth, > and the only dentries and inodes we should have in those subtrees after > recovery are ancestors of subtrees that we are auth for, which implies > they are primary. If it encounters a non-primary dentry here, there is > a bug earlier in recovery.. probably in trim_non_auth()? > >> I want to know whether the status of the replica subtree root >> directory's dentry should be primary? > > Directory inode parent dentries will always be primary; multiple hard > links to a directory are not allowed. > >> And we assume one dentry in directory is a remote link ,then place >> this dentry in a fragment, can we create the replicas of this fragment >> in other MDSs? > > Any dentry can be replicated (primary, remote, or null) once the MDS is > active. > > Does that answer your question? > sage > -- 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