Hard link na adresar

Alexandr Malusek malusek na hroch.ujf.cas.cz
Úterý Listopad 3 20:56:10 CET 1998


Michal Ludvig <mic na logix.cz> writes:

> Dobry den,
> badam na tim, jak vytvorit $SUBJ - v dokundamentaci jsem nasel, ze pokud
> dam 'ln -d' tak by to rootovi melo povolit vytvorit hardlink. Ale me to
> nefunguje :-(( Jako root jsem, fs je ext2, a ani se nesnazim to zacyklit.

Podival jsem se na to pres strace:

# strace ln -d c d
...
link("c", "d")             = -1 EPERM (Operation not permitted)
...

Problem byl tedy nekde na urovni jadra, ne v prikazu ln. V souboru
/usr/src/linux-2.0.35/fs/ext2/namei.c je ve funkci ext2_link()
uvedeno:

	if (S_ISDIR(oldinode->i_mode)) {
		iput (oldinode);
		iput (dir);
		return -EPERM;

Definice S_ISDIR() a iput() jsem nedohledaval, ale myslim, ze to
funguje tak, ze pokud se oldinode vztahuje k adresari, pak funkce
vraci -EPERM a link se neprovede.  Vypada to tedy, ze ext2fs hard link
na adresar nepodporuje.

Jinak v /usr/src/linux-2.0.35/fs/namei.c tento test ve funkci
do_link() neni, takze nejaky jiny FS to asi podporovat muze.

--
A. Malusek  (malusek na ujf.cas.cz)
UJF AV CR


Další informace o konferenci Linux