2010-12-11 95 views
5

Est-ce que quelqu'un en connaît un? de préférence avec la mise en œuvre de Linux? Alternativement, quelqu'un sait-il combien d'efforts faudrait-il pour l'ajouter dans n'importe quelle implémentation open-source? (je veux dire: peut-être qu'il suffit de changer une instruction if, peut-être que je dois aller soigneusement à travers l'implémentation de fs en ajoutant des tests, avez-vous cette notion?).Systèmes de fichiers prenant en charge la liaison par répertoire

merci ....

+0

De curieux: pourquoi avez-vous besoin de cela? –

+0

Pensez à un système embarqué avec trop de limitations de ressources qui ne pouvaient pas se permettre un dbms. Cohérence des données – ribamar

Répondre

2

rien Techniquement vous empêche d'ouverture/dev/sda avec un éditeur hexadécimal et en créer un. Cependant, tout le reste de votre système s'effondrera si vous le faites.

La meilleure explication que je pourrais trouver est cette citation de jta:

liens durs ajoutés par l'utilisateur aux répertoires sont interdits car ils cassent la structure de graphe acyclique dirigé de le système de fichiers (qui est un ASSERT dans Unixiana, à peu près), et parce qu'ils dérouter sur l'arborescence des fichiers marcheurs (un terme Multicians reconnaîtra à vue, mais les geeks Unix peut probablement comprendre sans trop de problèmes .

+0

Cette réponse ne répond pas avec précision, mais est utile dans le sens où le problème peut être dans le noyau, et non dans les implémentations fs (j'étais suspect qu'il n'y avait simplement aucune implémentation fs gérant les liens durs du répertoire dans linux, pas que le noyau "l'interdit"). Serait-il, cependant, simple ou trop complexe de changer l'implémentation du noyau pour éviter que "tout le reste de votre système ne s'effondre si vous le faites"? – ribamar

+2

Martin a raison. Ce n'est pas seulement le noyau qui ne l'aimera pas, les outils de l'espace utilisateur supposent également que le système de fichiers est un graphe acyclique dirigé. Le noyau applique la restriction. – mark4o

+1

La présence de hardlinks d'annuaire à elle seule ne casse pas la propriété DAG - seulement si vous créez un cycle cela devient un problème. – caf

4

HFS + autorise les liens de répertoire dans OSX 10.5. Seul TimeMachine peut les créer depuis OSX 10.6, et HFS + vérifie qu'ils ne génèrent pas de cycles.

Cependant, Linux will not read them. Outre les systèmes de fichiers, cela pourrait être appliqué à la couche VFS. Même s'il n'y a pas de cycles, certains outils d'espace utilisateur reposent sur l'absence de liens durs d'annuaire (par exemple, une optimisation de recherche GNU qui permet d'ignorer de nombreux répertoires, elle peut être désactivée avec -noleaf).