Re: dnl status in mds rejoin operation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux