ABriefIntroductiontotheDesignofUBIFS
Documentversion0.1
byAdrianHunter27.3.2008
becauflash
memorymustbeeradbeforeitcanbewrittento,anditcantypicallyonlybewrittenoncebefore
eblocksweresmallandcouldbeeradquickly,thentheycould
betreatedthesameasdiskctors,anentireerablock,era
it,andwritebackupdateddatatypicallytakes100timeslongerthansimplywritingtheupdateddata
rwords,forsmallupdates,in-place
updatescantake100timeslongerthanout-of-placeupdates.
isupdatedout-of-place,erablocks
begintocontainamixtureofvaliddataanddatawhichhasbecomeobsoletebecauithasbeen
ally,thefilesystemwillrunoutofemptyerablocks,sothat
rtowritenew
datasomewhere,
processofidentifyinganerablockwithalotofobsoletedata,andmovingthevaliddatatoanother
erablock,iscalledgarbagecollection.
rtogarbagecollectan
erablock,theoppositeof
ystemusuallystartswithafilenameandhas
ecollectionstartswithdatathatmaybelongtoany
file(ornofileifitisobsolete)andmustfindwhichfile,ifany,tosolvethat
mbinationofdataandmetadatais
derecordswhichfile(morespecificallyinodenumber)thatthenode
belongstoandwhatdata(forexamplefileofftanddatalength)
JFFS2andUBIFSfollowanode-structureddesign,thatenablestheirgarbagecollectorstoread
erablocksdirectlyanddeterminewhatdataneedstobemovedandwhatcanbediscarded,andto
updatetheirindexesaccordingly.
ThebigdifferencebetweenJFFS2andUBIFSisthatUBIFSstorestheindexonflashwhereas
JFFS2storestheindexonlyinmainmemory,rebuildingitwhenthefilesystemismounted.
PotentiallythatplacesalimitonthemaximumsizeofaJFFS2filesystem,becauthemounttime
asdesignedspecificallyto
overcomethatlimitation.
Unfortunately,storingtheindexonflashisverycomplexbecautheindexitlfmustbeupdated
epartoftheindexisupdatedout-of-place,thenanyotherpartsoftheindex
thatreferencetheupdatedpart,n,inturn,thepartsthatreference
utiontothiseminglynever-endingcascadeofupdatesisto
uawanderingtree.
InthecaoftheUBIFSwanderingtree(whichistechnicallyaB+tree),onlytheleavesofthetree
ernalelementsofthetree
,anindexnoderecordstheon-
BIFSwanderingtreecanbeviewedashavingtwoparts.
Atoppartconsistingofindexnodesthatcreatethestructureofthetree,andabottompart
partisreferredtosimplyasthe
tetothefilesystemconsistsofcreatinganewleafnodeandaddingit,orreplacing
rtodothat,theparentindexnodemustalsobereplaced,andits
parent,berofindexnodesthathavetobereplacedis
ustremainsthequestionofhowtoknowwheretherootofthe
S,thepositionoftherootindexnodeisstoredinthemasternode.
Themasternodestoresthepositionofallon-flashstructuresthatarenotatfixedlogicalpositions.
Themasternodeitlfiswrittenrepeatedlytologicalerablocks(LEBs)e
sphysicalerablocks(PEBs)toLEBs,soLEBoneand
twocanbeanywhereontheflashmedia(strictlyspeaking,theUBIdevice),howeverUBIalways
blocksareudinordertokeeptwocopiesofthemasternode.
Thisisdoneforthepurpoofrecovery,becautherearetwosituationsthatcancauacorrupt
stisthattherecouldbealossofpoweratthesameinstantthatthe
ondisthattherecouldbedegradationorcorruptionofthe
irstca,recoveryispossiblebecauthepreviousversionofthemaster
econdca,recoveryisnotpossiblebecauitcannotbedetermined
latterca,aurspaceutilityprogramwould
beneededtoanalyzeallthenodesonthemediaandattempttofixorrecreatecorruptormissing
twocopiesofthemasternodemakesitpossibletodeterminewhichsituationhas
arin,andrespondaccordingly.
ThefirstLEBisnotLEBone,
sumple,theflash
geometry(erablocksize,numberoferablocktc)ent,
thereisonlyonesituationwherethesuperblocknodegetsrewritten,whichiswhenanautomatic
rentlyhasaverylimitedabilitytoresizetogrowbigger,butonlytoa
chanismisneededbecauthe
actualsizeofaflashpartitionvariesduetotheprenceofavariablenumberofbaderablocks.
,themaximumnumberoferablocksis
specifiedandtheimagerecordsthis,andtheactualnumberoferablocksud,inthesuperblock
IFSismountedonapartition(actuallyaUBIvolume),ifthenumberof
erablocksisgreaterthanthatrecordedinthesuperblocknodeandlessthanthemaximumnumber
oferablocks(alsorecordedinthesuperblocknode),thentheUBIFSfilesystemisautomatically
resizedtofitthepartition(UBIvolume).
ThereareinfactsixareasinUBIFSwhopositionisfixedatthetimethefilesystemiscreated.
erblock
nodeisalwaysatofftzero,andthesuperblockLEBiswrittenusingUBI'satomicLEBchange
ftareaisthe
ral,thotwoLEBscontainidentical
ternodeiswrittentosuccessivepositionsineachLEBuntilthereisnomorespace,at
whichpointtheLEBsareunmappedandthemasternodewrittenatofftzero(whichautomatically
causUBItomapaneradLEB).NotethatthemasternodeLEBsarenotbothunmappedatthe
sametimebec
otherUBIFSareasare:thelogarea(orsimplythelog),theLEBpropertiestree(LPT)area,the
orphanareaandthemainarea.
ThelogisapartofUBIFS'pooftheUBIFSjournalistoreducethefrequency
,thattheindexconsistsofthetoppartofthewanderingtree
thatismadeupofonlyindexnodes,andthattoupdatethefilesystemaleafnodemustbeaddedor
replacedidbe
veryinefficientiftheon-flashindexwereupdatedeverytimealeafnodewaswritten,becaumany
ofthesameindexnodeswouldbewrittenrepeatedly,particularlytowardsthetopofthetree.
Instead,UBIFSdefinesajournalwhereleafnodesarewrittenbutnotimmediatelyaddedtotheon-
attheindexinmemory(eTNC)ically,whenthejournalis
consideredreasonablyfull,mitprocessconsistsofwritingthenew
versionoftheindexandthecorrespondingmasternode.
TheexistenceofthejournalmeansthatwhenUBIFSismounted,theon-flashindexisout-of-date.
Inordertobringitup-to-date,
,thatthebiggerthejournal,the
longeritwilltaketoreplay,therhand,abigger
thejournalneedstobecommittedlessoften,e
rogram,soitcanbechontomeetthe
r,bydefaultUBIFSdoesnotemployitsfastunmountoption,
usthejournaltobealmostemptywhenthe
filesystemismountedagain,oodtrade-off
becauthecommitprocessitlfisgenerallyquitequick,takingafractionofacond.
d,thejournal
containstwotypesof
tstartnode,thatrecordsthatacommithasbegun,andreferencenodesthat
EBsare
calledbuds,isafinitesizeandmaybe
commit,thereferencenodesthatrecordedtheprevious
positionofthejournalarenolongerneededsothetailofthelogiradatthesameratethatthe
hecommit-startnoderecordsthestartofcommit,theendof
commitisdefinedtobewhenthemasternodeiswritten,becauthemasternodepointstothenew
ommitisnotcompletedbecauthefilesystemisunmounted
uncleanly(oss),thenthereplayprocessreplaysboththeoldandnewjournal.
stcomplicationisthattheleafnodes
eUBIFSemploysamultiheadedjournal,theorderthattheleaf
nodeswerewrittenisnotsimplytheorderthatthecorrespondingbuderablockswerereferenced
rtoquenceleafnodes,everynodecontainsa64-bitquencenumberthat
layfirstreadsalltheleafnodesinthejournal
-treeisthenprocesdinorder
andthe(in-memory)indexupdatedaccordingly.
Thenretwokinds
eletionwhichcorrespondstothedeletionoffilesanddirectories,anddirectory
S,inodeshavea
correspondinginodenodewhichrecordsthenumberofdirectoryentrylinks,moresimplyknown
inodeisdeleted,aninodenodewithalinkcountofzeroiswrittentothe
ca,insteadofaddingthatleafnodetotheindex,itisremovedfromtheindex
aofdeleteddirectory
entries,adirectoryentrynodeiswrittentothejournalbuttheinodenumberthatthatdirectory
entrypreviouslyreferredto,attherearetwoinodenumbersassociatedwitha
denumberoftheparentdirectory,andtheinodenumberofthefileorsub-
elatterinodenumberthatisttozerointhe
ereplayprocessadirectoryentrywithaninodenumberof
zero,itremovesthatentryfromtheindexinsteadofaddingit.
Truncations,ofcour,,atruncationcanextendthelengthofa
FS,
filesystemparlance,extendingthelengthofafileviatruncationcreatesa"hole"whichisan
oesnotindexholesand
daholeisanindexentrythatisnotthere.
WhenUBIFSlooksuptheindexandfindsnoindexentry,itisdefinedtobeaholeandthezeroed
therhand,truncationsthatreducethelengthofafilerequirethat
artohavethat
happen,trunca
replayprocessthonodesbyremovingthecorrespondingindexentries.
ThenextcomplicationisthatthereplaymustbringtheLEBpropertiestree(LPT)areaup-to-date.
LEBpalues
are:freespace,at
indexnodesandnon-indexnodesarenevermixedwithinthesameerablock,henceanindex
erablockisanerablockthatcontains(only)indexnodes,andanon-indexerablockisan
erablockthatcontains(only)aceisthenumberofbytesattheendofan
erablockthathavenotbeenwrittentoyet,paceis
thenumberofbytestakenupbyobsoletenodesandpadding,thatcanpotentiallybereclaimedby
propertiesareesntialtofindspacetoaddtothejournal,orthe
index,imeanodeiswritten,thefree
imeanodeisobsoletedorapaddingnodeis
written,oratruncationordeletionnodeiswritten,dirtyspacemustbeincreadforthaterablock.
Whenanerablockisallocatedtotheindex,itmustberecordedsothat,forexample,anindex
erablockwithfreespaceisnotallocatedtothejournal-whichwouldcauindexandnon-index
,thereasonthatindexandnon-indexnodesmaynotbemixedhastodo
withbudgetingwhichisdescribedfurtheron.
Generallyspeaking,theindexsubsystemitlftakescareofinformingtheLEBproperties
plexitythatLEBpropertiesraisinthereplay
eindex,the
eindex,theon-flashLPTisout-of-dateatmount
n-flashLEBpropertiesofthe
laywillbegintoupdatethe
LEBproperties,howeversomeofthochangesoccurredbeforethegarbagecollection,andsome
ingatwhichpointthegarbagecollectionoccurred,thefinalLEB
rtohandlethat,thereplayinrtsareferenceintoitsRB-
treetoreprentthepointatwhichtheLEBwasaddedtothejournal(usingthequencenumberof
thelogreferencenode).ThatenablesthereplaytocorrectlyadjusttheLEBpropertyvalueswhen
thereplayRB-treeisappliedtotheindex.
Anoecordson
snot,thencertainerror
layisaffectedintwomain
,abuderablockmaybecorruptedbecauitwasbeingwrittenatthetimeofa
ly,
replayhandlesthosituationsbypassingtheerablocktotherecoverytotrytofixthenodesin
ilesystemismountedread-write,thentherecoverywilldothenecessary
way,theintegrityofarecoveredUBIFSfilesystemisasperfectasone
ilesystemismountedread-only,therecoveryis
deferreduntilitismountedread-write.
Thefinalcomplicationisthatsomeoftheleafnodesreferencedbytheon-flashindexmaynotexist
ppenswhenthenodeshavebeendeletedandtheerablockthatcontainedthem
lly,deletedleafnodesdonotaffectthereplay
r,oneaspectofthestructureoftheindexdoes
ppensbecauof
directoryentrynodes(andalsoextendedattributeentrynodes).InUBIFS,adirectoryconsistsof
totheindexis
doneusinganodekey,cas,thenodekey
ununately,in
thecaofdirectoryentries(andextendedattributeentries)theuniquelyidentifyinginformationis
thename,whichmaybequitelong(upto255charactersinthecaofUBIFS).Tosqueezethat
informationinto64-bits,thenameishashedintoa29-bitvaluewhichisnotuniquetothename.
Whentwonamesgivethesamehashvalue,itiscalledahashcollision(orsimplycollision).Inthat
ca,theleafnodesmustbereadtoresolvethecollisionbycomparingthenamesstoredintheleaf
sout
oryentrynodes(andextendedattributeentrynodes)areonlyever
addedorremoved-t
theoutcomeofthenamecomparisonisknowneventhoughthenodecontainedoneofthenamesis
dingahashed-keynode,movingahashed-key
node,therewillalwaysbeamatch,eithertoanexistingnode,ortoamissingnodethathasthe
rtoprovidethisspecialindexupdatingforthereplay,aparatetoffunctions
isud(denotedinthecodebytheprefix"fallible").
Afterthelogarea,eofthelogareaisdefinedwhenthefilesystemis
ent,thesizeoftheLPTareais
automaticallycalculatedbadontheLEBsizeandmaximumLEBcountspecifiedwhenthefile
elogarea,thelogarea,
tion,theamountof
LEBputionisto
theLPTareaismuchlikeaminiaturefilesystem
tsownLEBproperties-thatis,theLEBpropertiesoftheLEBproperties
area(calledltab).tsownnodestructurethatpacks
r,liketheindex,theLPTareaisupdated
eon-flashindexandtheon-flashLPTreprentwhatthefilesystem
ferencebetweenthatandtheactualstateofthefilesystem,
isreprentedbythenodesinthejournal.
TheLPTactual
smallmodelisudw
thatca,LPTgarbagecollectionconsistsofjustwritingthewholetable,whichthereforemakesall
aofthebigmodel,dirtyLPTerablocksare
lectedforLPTgarbagecollection,whichconsistsofmarkingthenodesinthatLEBasdirty,and
thenwritingoutonlythedirtynodes(aspartofthecommit).Also,inthecaofthebigmodel,a
tableofLEBnumbersissavedsothattheentireLPTdoesnottobescannedlookingforempty
mallmodel,itisassumedthatscanningtheentire
tableisnotslowbecauitissmall.
that
efficient,indexnodesarecachedinmemoryinastructurecalledthetreenodecache(TNC).The
TNCisB+treethatisnode-for-nodethesameastheon-flashindex,withtheadditionofallchanges
rwaytolookatthat,
isthataznodewhenitison-flashiscalledanindexnode,andanindexnodewhenitisinmemory
ookupisdoneontheindex,justtheindex
nodeneedstobe
changed,itismarkedasdirtywhichpinsitinmemoryuntilthenextcommitatwhichtimeit
imeUBIFSmemoryshrinkermaydecidetofreecleanznodesinthe
TNC,sothattheamountofmemoryneededisproportionaltothesizeofthepartsoftheindexthat
areinu,tion,hangingoffthebottomoftheTNCisaleaf-
nodecache(LNC)whichisudonlyfordirectoryentries(andextendedattributeentries).The
LNCisneededtoe
theLNCisattachedtotheTNCiteffectivelygetsshrunkwhentheTNCdoes.
TheTNCisfurthercomplicatedbythedesiretomakethecommithaveaslittleimpactaspossible
at,stpartis
commitstartthecommitmaphoreisdownforwriting,which
time,theTNCsubsystemmakesalistofthedirty
ecommitmaphore
isrelead,andanewjournalbeginstobeud,ondpart
commitend,TNCwritesthenewindexnodesbutit
TNCcanbeupdatedsimultaneouslyasthenewindexis
accomplishedbymarkingtheznodeswhicharebeingcommittedas
dethatisbeingcommittedneedstobechanged,itiscopiedsothatthe
tion,thecommitismostlyrunbyUBIFS
backgroundthreadsothaturprocesswaitaslittleaspossibleforthecommittorun.
NotethatLPTfollowsthesamecommitstrategyasTNCandtheyarebothwanderingtrees
implementedasB+trees,resultinginanumberofsimilaritiesinthecodeofLPTandTNC.
sthasalreadybeen
mentioned:UBIFShasanon-flashindex,
conddifferenceisimplied:UBIFSrunsontopoftheUBIlayerwhichrunsontopoftheMTD
subsystem,enefitsfromthewear-levelingand
errorhandlingofUBIatthecostoftheflashspace,
thirdimportantdifferenceisthatUBIFSallowswriteback.
WritebackisaVFSfacilitythatallowswrittendatatobecachedandnotwrittenimmediatelytothe
kesthesystemmoreresponsiveandpotentiallymoreefficientbecauupdatesto
ficultywithsupportingwritebackisthatitrequires
thatthefilesystemknowhowmuchfreespaceisavailablesothatthecacheisneverbiggerthanthe
verydifficultforUBIFStodetermine,soanentiresubsystemcalled
ficultiesareforveralreasons.
etheamountof
compressionisnotknowninadvance,theamountofspaceneededisnotknowninadvance.
Budgetingmustassumetheworstca,r,inmany
rtoovercomethat,budgetingwillbegintoforcewriteback
whenitdetectsthatthereisinsufficientspace.
Thecondreasonthatbudgetingisdifficultisthatgarbagecollectionisnotguaranteedtobeable
a
ofNANDflash,rablockismade
allstheNANDpagesizetheminimal
I/eUBIFSgarbagecollectionprocessoneerablockatatime,ifthedirtyspaceis
lessthantheminimalI/Osize,itcannotbereclaimed-itwillendupaspaddinginthelastNAND
edirtyspaceinanerablockislessthantheminimalI/Osize,thatspaceiscalled
aceisnotreclaimable.
aceiswhenthedirtyspaceinanerablockisless
orstca,thefilesystemmaybefullofnodesofmaximum
sizeandgarbagecollectionwillnotresultinpiecesoffreespacethatarelargeenoughforanother
,intheworstca,darkspaceisnotreclaimable,andinthebestcaitis
udgetingmustassumetheworstcaandsobothdeadspaceanddarkspace
r,ifthereisinsufficientspacebutalotofdarkspace,
budgetingwillitlfrungarbagecollectiontoeifitreclaimsmorefreespace.
Thethirdreasonthatbudgetingisdifficultisthatcacheddatamaybeobsoletingdatastoredon
rornotthatisthecaisnotalwaysknown,andwhatthedifferenceincompression
anotherreasonthatbudgetingforceswritebackwhenit
tertryingwriteback,garbagecollectionandcommittingthe
journal,willbudgetinggiveupandreturnENOSPC(thenospaceerrorcode).
OfcourthatmeansthatUBIFSbecomeslesfficientasthefilesystembecomesclortobeing
,becauitis
lesslikelythatthereisanemptyerablockthathasbeeneradinthebackground,andmorelikely
thatgarbagecollectionwillhavetorun.
Thefourthreasonthatbudgetingisdifficultisthatdeletionsandtruncationsneedtowritenew
thefilesystemisreallyoutofspace,itbecomesimpossibletodeleteanything
becauthereisnoroomtowriteadeletioninodenode,entthat
situation,UBIFSalwayskeepsbackasomespaceandalwaysallowsdeletionsandtruncations.
anisaninodenumberwhoinode
ppenswhenanopenfileis
deleted(unlinked)ormalcourofeventstheinodewouldbe
rinthecaofanuncleanunmount,orphansneedtobe
nuncleanunmount,theorphans'inodesmustbedeletedwhichmeanither
scanningtheentireindexlookingforthem,
implementsthelatterapproach.
Theorphan
imumnumberis
eoftheorphanareashouldbesothatitcanholdthemaximumnumberoforphansthatare
beroforphansthatcanfitinaLEBis:
(leb_size-32)/8
Forexample:a15872byteLEBcanfit1980orphansso1LEBmaybeenough.
inode'slinkcountdropstozero,theinodenumber
orphans
thatareintheorphantreewhenthecommitisrun,arewrittentotheorphanareain1ormore
rphanareaisfull,salwaynough
spacebecauvalidationpreventstheurfromcreatingmorethanthemaximumnumberof
orphansallowed.
nareacontainsthenodesthatmakeupthefile
reaLEBmaybeanindexerablockoranon-indexerablock.
Anon-indexerablockmaybeabud(partofthejournal)ybe
atcontainscommittednodescanstillbecomeabudif
udLEBhasanofftfromwhichjournalnodesbegin,althoughthat
offtisusuallyzero.
UBIFSSourceFileList
ting
einitialization,mountingandunmounting
tmanagement
essionmanagement
ginglf-checks
ginglf-checksheader
toryoperations
perations
rablocksforvariouspurpo.g.G.C.
gecollection
/O
2compatibleextendedattributeioctls
alupdates
keyrelatedfunctions
operties
opertiestree(LPT)
lpt_mmit
rnode
dinlinefunctions
ns
ery
y
ltfilesystemcreationandsuperblocknode
alpurpoerablockscanner(G.C.)
yshrinkerforTNC
operations
odecache(TNC)
tnc_mmit
naldefinitions
-flashstructuresanddefinitions
dedattributes
UBIFSGlossary
B+treeKindoftreeudforUBIFSwanderingtree.
eheadprovides
theintegrityandrecoverabilityofUBIFSbykeepingallinode
nodesanddirectoryentrynodesinquence.
budgetingEstimationoffreespace.
budAnerablockudbythejournal.
cnodeEitherapnodeorannnode.
commitProcessbywhichtheindexisupdated.
commitstartnodeNodewrittentothelogwhenacommitstarts.
commonheaderCommonheaderofallnodetypexceptnodesintheLPT
area.
iallyUBIFScould
havemorethanonedataheadwhichwouldassistinkeeping
datanodesforeachfilegroupedtogetherratherthan
rprentlythereisonlyonedatahead.
directoryentrynodeAnodethatcontainsadirectoryentry.
dirtyspaceSpacetakenuponflashbyobsoletenodes,paddingnodesand
paddingbytes.
erablockThesmallestunitofflashmemorythatcanbeindividually
erad.
extendedattributeentrynodeAnodethatcontainsthenameandinodenumberofan
extendedattribute(samestructureasadirectoryentry).
freeableLEBALEBinthemainareathatcontainsonlyfreespaceanddirty
space.
freespaceSpaceonflashthatcanbewrittento.
garbagecollectionTheprocessofreclaimingdirtyspacetomakefreespace.
rtomove
andreindexnodes,thegarbagecollectorjustfeedsthemback
throughthejournal.
garbagecollectionLEBnumberLEBrervedforgarbagecollection(mustalwaysbeoneLEB
rerved),alsoknownasgc_lnum.
indexThetoppartoftheUBIFSwanderingtreeconsistingofindex
nodes.
indexLEBALEBthatcontains(only)indexnodes.
ainsthe
keysandon-flashpositionsofitschildnodes.
S,aninodemaybearegular
file,adirectory,asymboliclink,aspecialfile,oranextended
attribute(xattr)valueholder.
nodehas
exactlyone(non-obsolete)inodenode.
in-the-gapsmethodWhenthefilesystembecomesfull,theindexcannotgrowin
done
bywritingindexnodesin-the-gapscreatedbyobsoleteindex
nodes.
JFFS2JournalingFlashFileSystem2whichisthequintesntial
linuxflashfilesystem,howeveritisnotscalableandthe
prentlimitofitsusageis1GiB.
journalThejournalislikeaminiatureJFFS2filesystem,storing
nodeswithoutanon-flashindex,sothatindexupdatescanbe
FS2thejournalmustbescanned
atmounttime.
journalheadThepositionon-flashwherethenextnodewillbewritten.
UBIFSadoptsamultiheadedjournalwithtwomainheads:the
baheadandthedatahead.
exstoresthepositionofall
nodes,aybefoundbylookingupits
isa64-bitvaluewhofirst32bits
t3bitsarenodetype,andthe
lso
supportsthepossibilityofchangingthekeyformatandallows
forupto128-bitsforthekey.
LEBLogicalerablockthatismappedtoaphysicalerablock
(PEB)byUBI.
LEBpropertiesMainareaLEBshavethreeimportantvaluesthatarerecorded
EBpropertiesare:amountoffreespace,
amountofdirtyspace,andwhethertheLEBcontainsindex
nodes.
LNCLeafnodecacheudtostoredirectoryentriesandextended
attributeentries
logThepartofthejournalthatrecordswherethebudsare.
LPTLEBpropertiestree,awanderingtreeudtostoreLEB
properties.
mainareaLEBsthatareudfordataandtheindex.
masternodeThenodethatcontainsthepositionsofon-flashstructures.
minimalI/OunitThesmallestunitofflashmemorythatcanbeindividually
written.
heurspaceprogramthatcreatesUBIFSimages.
devicelayerforflash
memories.
nodeThelogicalcomponentofnode-structuredflashfilesystems
likeJFFS2andUBIFS.
nnodeInternalnodeoftheLPT.
orphanareaAreaforstoringtheinodenumbersofdeletedbystillopen
inodes,neededforrecoveryfromuncleanunmounts.
orphannodeThenodeudtostoreorphaninformation.
paddingbytesByteswrittenwhenthespacetopadistoosmallforapadding
node.
paddingnodeAnodewrittentofillspace,usuallytotheedgeofaminimal
I/Ounit.
PEBPhysicalerablockthatismappedtoalogicalerablock
(LEB)byUBI.
pnodeLeafnodeoftheLPTwhichcontainstheactualLEBproperty
values.
recoveryThefunctionsbywhichUBIFSrepairsitlfafteranunclean
unmount.
replayTheprocessbywhichUBIFSreindexesthenodesinthe
journalwhenthefilesystemismounted.
referencenodeLognodesthatstoretheLEBnumbersofbudsandtheir
offt.
shrinkerAlinuxfacilitytherequeststhatsomememorybefreedif
asashrinkerthatfreescleanznodesfrom
theTNC.
superblocknodeThenodethatrecordsfilesystemparametersthatalmostnever
change.
TNCTreeNodeCache,UBIFSindexinmemory.
truncationnodeAnodethatrecordswhenafileistruncatedandbecomes
smaller.
UBIUnsortedBlockImagesmodulethatprovideswear-leveling,
bad-blockhandling,andthecreationoflogicalvolumes
mappinglogicalerablockstophysicalerablocks.
UBIFSUBIFileSystem.
uncleanunmountWhenthefilesystemdoesnothaveachancetowriteall
cacheddataandmetadata,forexamplebecauofalossof
power.
wanderingtreeAtreethatmovesinawaytoallowout-of-placeupdates.
formtheTNC.
本文发布于:2022-11-27 03:31:11,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/28501.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |