Re: Questions on HAMMER2 current details and implementation
Justin Sherrill <[email protected]> Mon, 19 Sep 2022 21:39:21 -0400
| Newsgroups | gmane.os.dragonfly-bsd.kernel |
|---|---|
| Message-ID | <CA+YR8=2a82YaVXtQkEcrdPL5=o7pF84dk4++azbkzqZMk6Uw9w@mail.gmail.com> |
--000000000000e64cc705e911e799 Content-Type: text/plain; charset="UTF-8" That PFS you have linked is not the PFS you think it is. PFS in this case stands for pseudo file system, if I remember correctly. The design document may help you: http://apollo.backplane.com/DFlyMisc/hammer2.txt Or the man page: https://man.dragonflybsd.org/?command=hammer2§ion=ANY On Mon, Sep 19, 2022 at 8:00 PM HolyTaint <[email protected]> wrote: > As far as I understood, HAMMER2 is a composite filesystem and files are > organized in separated PFS filesystems which differ a bit from the original > implementation described in > https://en.wikipedia.org/wiki/Professional_File_System > The only modification I grasped is the inode tree being modified for > accomodating segments of the main radix tree, but I still miss some > informations. > I tried to infer some theories on these questions: > > * How are snapshots made? Is it safe to assume that snapshots are actually > a collection of links to PFS filesystems and that's the reason why they are > modifiable? > * How does HAMMER2 avoid the need of a journal and support an undo > feature? Does it use CoW on EVERYTHING? > > I totally have no clue on these questions instead: > > * Do the individual PFS file systems have fixed spaces or do they increase > according to the load? Does their fixed/maximum space occupied on the disk > coincide with the original implementation referred in the wikipedia article? > * How does HAMMER2 achieve deduplication and compression across chunks on > the multiple PFS volumes present while ALSO mantaining the premise of > separating them and allowing async operations on them? How much are the PFS > volumes isolated between themselves? Do they have an individual freemap or > do they share a collective freemap for every storage device? > --000000000000e64cc705e911e799 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">That PFS you have linked is not the PFS you think it is.= =C2=A0 PFS in this case stands for pseudo file system, if I remember correc= tly.=C2=A0 The design document may help you:<div><br></div><div><a href=3D"= http://apollo.backplane.com/DFlyMisc/hammer2.txt">http://apollo.backplane.c= om/DFlyMisc/hammer2.txt</a><br></div><div><br></div><div>Or the man page:= =C2=A0</div><div><br></div><div><a href=3D"https://man.dragonflybsd.org/?co= mmand=3Dhammer2&section=3DANY">https://man.dragonflybsd.org/?command=3D= hammer2&section=3DANY</a><br></div><div><br></div></div><br><div class= =3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Sep 19, 2022= at 8:00 PM HolyTaint <<a href=3D"mailto:[email protected]">holytain= [email protected]</a>> wrote:<br></div><blockquote class=3D"gmail_quote" sty= le=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddi= ng-left:1ex">As far as I understood, HAMMER2 is a composite filesystem and = files are organized in separated PFS filesystems which differ a bit from th= e original implementation described in <a href=3D"https://en.wikipedia.org/= wiki/Professional_File_System" rel=3D"noreferrer" target=3D"_blank">https:/= /en.wikipedia.org/wiki/Professional_File_System</a><br> The only modification I grasped is the inode tree being modified for accomo= dating segments of the main radix tree, but I still miss some informations.= <br> I tried to infer some theories on these questions:<br> <br> * How are snapshots made? Is it safe to assume that snapshots are actually = a collection of links to PFS filesystems and that's the reason why they= are modifiable?<br> * How does HAMMER2 avoid the need of a journal and support an undo feature?= Does it use CoW on EVERYTHING?<br> <br> I totally have no clue on these questions instead:<br> <br> * Do the individual PFS file systems have fixed spaces or do they increase = according to the load? Does their fixed/maximum space occupied on the disk = coincide with the original implementation referred in the wikipedia article= ?<br> * How does HAMMER2 achieve deduplication and compression across chunks on t= he multiple PFS volumes present while ALSO mantaining the premise of separa= ting them and allowing async operations on them? How much are the PFS volum= es isolated between themselves? Do they have an individual freemap or do th= ey share a collective freemap for every storage device?<br> </blockquote></div> --000000000000e64cc705e911e799--