Comment implémenter les liens symboliques ?
Pour l'instant, le système de fichiers, pour stocker les données, reproduit toute l'arborescence du FS virtuel dans un dossier du FS local. Ça permet de conserver fichiers et répertoires. Je me demande toujours comment je pourrais implémenter proprement les liens symboliques dans le FS virtuel. Une première solution serait d'écrire à la place du lien symbolique un petit fichier texte qui contient l'adresse vers la cible. Comment, alors, distinguer ce fichier d'un autre, quelconque ? Une autre solution serait de stocker dans un fichier .symlinks de chaque répertoire une Map de liens source → destination. Cette solution pose le problème de l'accès concurrent au fameux fichier. Du coup, je n'ai pas de solution pleinement satisfaisante. Si vous avez d'autres idées, je suis preneur. -- Brendan Le Ny <bleny@codelutin.com> Code Lutin
On 10/05/2010 09:55, Brendan Le Ny wrote:
Une première solution serait d'écrire à la place du lien symbolique un petit fichier texte qui contient l'adresse vers la cible. Comment, alors, distinguer ce fichier d'un autre, quelconque ? Il y a la solution windows : créer un fichier avec une extension ".lnk"
Sinon, as-tu un système de droits unix like ? Par exemple les liens symbolique unix ont un attribut "l". -- Éric<chatellier@codelutin.com> Tel: 02 40 50 29 28 http://www.codelutin.com
Le lundi 10 mai 2010 à 10:06 +0200, Eric Chatellier a écrit :
On 10/05/2010 09:55, Brendan Le Ny wrote:
Une première solution serait d'écrire à la place du lien symbolique un petit fichier texte qui contient l'adresse vers la cible. Comment, alors, distinguer ce fichier d'un autre, quelconque ? Il y a la solution windows : créer un fichier avec une extension ".lnk"
Ça revient à la première solution. Si il n'y en a pas d'autres, c'est ça que je vais faire.
Sinon, as-tu un système de droits unix like ?
Non, pas du tout, y'a que les données brutes (répertoires, fichiers et leurs contenus binaires).
Par exemple les liens symbolique unix ont un attribut "l".
On Mon, 10 May 2010 10:21:01 +0200 Brendan Le Ny <bleny@codelutin.com> wrote:
Le lundi 10 mai 2010 à 10:06 +0200, Eric Chatellier a écrit :
On 10/05/2010 09:55, Brendan Le Ny wrote:
Une première solution serait d'écrire à la place du lien symbolique un petit fichier texte qui contient l'adresse vers la cible. Comment, alors, distinguer ce fichier d'un autre, quelconque ? Il y a la solution windows : créer un fichier avec une extension ".lnk"
Ça revient à la première solution. Si il n'y en a pas d'autres, c'est ça que je vais faire.
Sinon, as-tu un système de droits unix like ?
Non, pas du tout, y'a que les données brutes (répertoires, fichiers et leurs contenus binaires).
Par exemple les liens symbolique unix ont un attribut "l".
Je dirais qu'il faut de tout facon stocker le lien quelque part :), et donc un fichier avec dedans le chemin complet du fichier pointe. Et en plus dans les meta informations pour ce fichier, un tag qui dit que c'est pas un fichier normal mais un lien. de la meme facon pour les repertoires, un repertoire est un fichier "normal" mais marque dans ses meta comme etant un repertoire. donc on pourrait avec File, Directory, Link comme flag dans les meta. -- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii
participants (3)
-
Benjamin POUSSIN -
Brendan Le Ny -
Eric Chatellier