obmedzenia filesystemu UFS2: Too many links

Dan Lukes dan at obluda.cz
Mon Jan 15 11:27:40 CET 2007


Lubomir Host napsal/wrote, On 01/15/07 10:35:
> chcem sa spytat, ci je mozne na nejakej verzii FreeBSD s nejakym
> suborovym systemom (napr UFS alebo UFS2) mat v jednom adresari viac ako
> 32766 podadresarov. Inymi slovami, aby presiel tento test (benchmark):

	Aniz bych nahledl do zdrojaku, odhaduji, ze limit je ve skutecnosti 
limitem postu jmen, ktere muze nejaky konkretni inode mit. Adresar ma 
vzdy nejmene dve jmena (jmeno v nadrazenem adresaru a '.' v sobe samem) 
a kazdy podadresar k tomu prida dalsi jmeno ('..' v takovem 
podadresari), to je, u 32766 podaadresaru celkem 32768 jmen, coz by, 
pokdu se pocet linku uklada do dvou bajtu znamenkove byl presne nas limit.

	Jak jsem rikal, do zdrojaku jsme nekoukal, takze nevim, jestli se UFS2 
v tomto ohledu od UFS1 lisi. Pokud ani, tak pomuze prechod na UFS2, 
pokud nikoli, tak to samo o sobe resenim nebude.

> Dalsia podotazka: ako zistim, ze mam naozaj UFS2 a nie UFS? Vo vypise
> prikazu mount je stale napisane 'ufs', aj ked to je pravdepodobne UFS2.

	dumpfs <device|moutpoint>

	Je to hned na prvnim radku.

> Je tento problem riesitelny bez zmeny platformy?

	Jak uz vyse padlo, mozna je a mozna neni resenim prechod na UFS2. 
Teoreticky moznym dalsim resenim je preklad worldu s predefinovanym 
typem pro ukadani teto polozky an neco vetsiho. Jednak je potreba (pote) 
preformatovat disk, jednak je i jakekoliv dalsi programu treba prelozit 
na takto upravenem stroji, ale ani to zdaleka nezarucuje, ze nebudou 
zadne problemy.

	Zmena platformy to vyresi po ujisteni se, ze na dane vybrane platforme 
je limit vyssi.

	No a pak jeste muze reseni koukat ze strany, kterou je tezke posoudit, 
protoze vubec nevime PROC je potreba mit v adresari tolik podadresaru. 
Vetsina aplikaci, ktere znam ja, si existenci takovych limitu uvedomuji 
a maji pro tyto pripady nejaky mechanismus, ktery umoznuje data rozdelit 
do slozitejsi struktury s mensim poctem polozek v jednom adresari - 
treba vycleneneim nekolika prvnich znaku ze jmena pro prvni uroven 
vnoreni a ostatnich znaku nazvu pro dalsi uroven vnoreni adresaru (pocet 
urovni byva take nekdy konfigurovatelny).

	Samozrejme, pokud sama aplikace nepocita s tim, z eby byla nasazena pro 
"takhle velkou ulohu", nemusi to umet. Pak jeste muze byt resenim 
upravit aplikaci (stejne lze takove chovani povazovat za chybu navrhu) 
nebo s epodivat po nejake jine, ktera dela totez, ale je lepe napsana.

	Tezko ovsem posoudit, co muze byt resenim v tomto konkretnim pripade.

					Dan



-- 
Dan Lukes                                   SISAL MFF UK
AKA: dan at obluda.cz, dan at freebsd.cz,dan at kolej.mff.cuni.cz



More information about the Users-l mailing list