2010-12-11 7 views
5

Qualcuno ne conosce uno? preferibilmente con l'implementazione di Linux?File system con supporto alla directory hard-linking

in alternativa, qualcuno sa quanti sforzi ci vorrebbe per aggiungerlo in qualsiasi implementazione open source? (Voglio dire: forse è sufficiente cambiare una dichiarazione if, forse devo andare attentamente attraverso l'intera implementazione di Fs aggiungendo test, hai questa nozione?).

grazie ....

+0

Per curiosità: perché ne hai bisogno? –

+0

pensa a un sistema embedded con troppe limitazioni di risorse che non potrebbero permettersi un dbms. Consistenza dei dati – ribamar

risposta

2

Tecnicamente nulla ti impedisce di apertura/dev/sda con un editor esadecimale e la creazione di uno. Tuttavia, qualsiasi altra cosa nel tuo sistema andrà in pezzi se lo fai.

La spiegazione migliore che ho trovato è questa citazione di jta:

hardlinks User-added alle directory sono proibiti perché si rompono la struttura grafo aciclico diretto del filesystem (che è un'asserzione in Unixiana, più o meno), sia perché confondono l'inferno fuori di di file-tree-escursionisti (un termine Multicians riconoscerà a vista, ma Unix geek probabilmente può capire senza problemi troppo .

+0

Questa risposta non risponde in modo accurato, ma è utile nel senso che il problema potrebbe essere nel kernel, e non nelle implementazioni di fs (ero sospettoso che semplicemente non ci fossero implementazioni di fs che gestivano i collegamenti hard di linux, non che il kernel "lo proibisca"). Sarebbe, tuttavia, semplice o troppo complesso modificare l'implementazione del kernel per evitare che "tutto il resto del sistema si disintegrerà se lo si fa"? – ribamar

+2

Martin è corretto. Non è solo il kernel che non gli piacerà, anche gli strumenti userspace presuppongono che il filesystem sia un grafo acilico diretto. Il kernel applica la restrizione. – mark4o

+1

La presenza di directory hardlink da sola non interrompe la proprietà DAG - solo se si crea un ciclo questo diventa un problema. – caf

4

HFS + consente directory hardlink in OSX 10.5. Solo TimeMachine può crearli da OSX 10.6, e HFS + fa un po 'di sanità mentale controllando che non introducano cicli.

Tuttavia, Linux will not read them. Oltre ai file system, questo potrebbe essere applicato a livello VFS. Anche se non ci sono cicli, alcuni strumenti userspace si basano sull'assenza di collegamenti hard della directory (ad esempio, un GNU trova l'ottimizzazione che consente di saltare molte directory, ma può essere disabilitato con -noleaf).

Problemi correlati