Nektere informace o ext3

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Pátek Červen 29 23:52:06 CEST 2007


On Fri, 29 Jun 2007, Karel Břinda wrote:

> Jaké všechny znaky smí být použity v názvech souborů filesystému ext3,

Jakékoli kromě binární nuly (která se používá jako ukončovač) a lomítko
(odděluje komponenty v cestě). A některá jména jsou rezervovaná (".", ".."
a prázdný řetězec).

> jaká je maximální délka názvu souboru

include/linux/ext3_fs.h:
#define EXT3_NAME_LEN 255

> a jaká může být maximální délka celé cesty (počet znaků, vnořených
> složek, atd...) k souboru?

Pokud vím, tak hloubka vnoření adresářů není nijak omezena (ono by se to
stejně za provozu špatně hlídalo). I když možná některé programy by s tím
měly dost těžké psychické problémy, kdyby byla hierarchie adresářů příliš
hluboká.

Délka cesty je omezena, ale to omezení je ve VFS (které to pak
souborovému systému předkládá rozkrájené na jednotlivé komponenty).

include/linux/limits.h:
#define PATH_MAX        4096    /* # chars in a path name including nul */

Z toho samozřejmě plyne, že v principu může existovat objekt, který je tak
hluboko, že se k němu nelze z kořene fs dostat jedním krokem, ale je
potřeba postupovat přískoky pomocí chdir().

Pak je zde ještě jedno omezení na délku cesty přímo ve filesystému a to na
symlinky. V ext3 je to tak, že symlink se včetně ukončovací nuly musí
vejít do 1 bloku fs (obvykle 1024 nebo 4096 bajtů).

Viz též pathconf(3) a statfs(2).


--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."




Další informace o konferenci Linux