On Thu, Feb 25, 2021 at 09:59:41AM +0000, John Spray wrote:
osdc/Journaler is for RDB, client/Journaler is for
CephFS.
Actually, src/journal/(Journaler.h) is for RBD (it is more generic,
but currently is used by RBD only).
And src/osdc/Journaler.h is for cephfs.
On Thu, Feb 25, 2021 at 8:26 AM 조규진 <bori19960(a)snu.ac.kr> wrote:
Hi, John.
Thanks for your kind reply!
While i'm checking the code that you recommend to check and other .cc files about
journal, I find that there is two Journaler class.
One is at "src/osdc/Journaler.h" and the other one is at
"src/journal/Journaler.h".
If you don't mind, could you tell me which one is for MDS journal? and the
differences between them?
Thanks.
kyujin
2021년 2월 25일 (목) 오전 1:15, John Spray <jcspray(a)gmail.xn--com>-4f21ay07k 작성:
>
> On Wed, Feb 24, 2021 at 9:10 AM 조규진 <bori19960(a)snu.ac.kr> wrote:
> >
> > Hi.
> >
> > I'm a newbie in CephFS and I have some questions about how per-MDS journals
> > work.
> > In Sage's paper (osdi '06), I read that each MDSs has its own journal
and
> > it lazily flushes metadata modifications on OSD cluster.
> > What I'm wondering is that some directory operations like rename work with
> > multiple metadata and It may work on two or more MDSs and their journals,
> > so I think it needs some mechanisms to construct a transaction that works
> > on multiple journals like some distributed transaction mechanisms.
> >
> > Could anybody explains how per-MDS journals work in such directory
> > operations? or recommends some references about it?
>
> Your intuition is correct: these transactions span multiple MDS journals.
>
> The code for this stuff is somewhat long, in src/mds/Server.cc, but
> here are a couple of pointers if you're interested in untangling it:
> - Server::handle_client_rename is the entry point
> - The MDS which handles the client request sends MMDSPeerRequest
> messages to peers in rename_prepare_witness, and waits for
> acknowledgements before writing EUpdate events to its journal
> - The peer(s) write EPeerUpdate(OP_PREPARE) events to their journals
> during prepare, and EPeerUpdate(OP_COMMIT) after the first MDS has
> completed.
>
> John
>
>
>
> >
> > Thanks.
> > kyujin.
> > _______________________________________________
> > ceph-users mailing list -- ceph-users(a)ceph.io
> > To unsubscribe send an email to ceph-users-leave(a)ceph.io
_______________________________________________
ceph-users mailing list -- ceph-users(a)ceph.io
To unsubscribe send an email to ceph-users-leave(a)ceph.io
--
Mykola Golub