Re: Question about per MDS journals

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

 



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




[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux