Quite right, I flipped them while writing the mail - oops. John On Thu, Feb 25, 2021 at 6:04 PM Mykola Golub <to.my.trociny@xxxxxxxxx> wrote: > > 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@xxxxxxxxx> 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@xxxxxxxxx>님이 작성: > > >> > > >> On Wed, Feb 24, 2021 at 9:10 AM 조규진 <bori19960@xxxxxxxxx> 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@xxxxxxx > > >> > To unsubscribe send an email to ceph-users-leave@xxxxxxx > > _______________________________________________ > > ceph-users mailing list -- ceph-users@xxxxxxx > > To unsubscribe send an email to ceph-users-leave@xxxxxxx > > -- > Mykola Golub _______________________________________________ ceph-users mailing list -- ceph-users@xxxxxxx To unsubscribe send an email to ceph-users-leave@xxxxxxx