有人知道嗎?最好與Linux實施?支持目錄硬鏈接的文件系統
或者,是否有人知道將其添加到任何開源實現中需要付出多少努力? (我的意思是:也許這足以改變if語句,也許我必須小心翼翼地執行整個fs實現來添加測試;你有沒有這個概念?)。
感謝....
有人知道嗎?最好與Linux實施?支持目錄硬鏈接的文件系統
或者,是否有人知道將其添加到任何開源實現中需要付出多少努力? (我的意思是:也許這足以改變if語句,也許我必須小心翼翼地執行整個fs實現來添加測試;你有沒有這個概念?)。
感謝....
技術上沒有什麼阻止你打開/ dev/sda上用十六進制編輯器,並創建一個。但是,如果你這樣做,系統中的其他任何東西都會崩潰。
我能找到的最好的解釋是從jta這句話:
用戶添加的硬鏈接到目錄 是被禁止的,因爲他們打破 文件系統的 向無環圖結構(這是一個ASSERT Unixiana,大約),因爲他們 混淆了地獄的 文件樹步行者(一學期Multicians 將認識的視線,但Unix的 愛好者大概可以計算出沒有 問題太。
這個答案沒有準確的回答,但是這個問題可能在內核中,而不是在fs實現中(我懷疑在linux中沒有處理目錄硬鏈接的fs實現,不是內核「禁止」它)。但是,如果改變內核實現以防止「如果你這樣做,系統中的其他任何東西就會崩潰」,它會變得簡單還是太複雜? – ribamar 2010-12-11 12:44:10
馬丁是正確的。這不僅僅是內核不喜歡它,用戶空間工具也假定文件系統是一個定向的非形式圖。內核強制執行限制。 – mark4o 2010-12-11 18:24:45
單獨存在目錄硬連接不會破壞DAG屬性 - 只有在創建循環時纔會出現問題。 – caf 2010-12-12 12:49:00
HFS +允許OSX 10.5中的目錄硬鏈接。只有TimeMachine可以從OSX 10.6開始創建它們,而HFS +會進行一些合理的檢查,以確定它們沒有引入週期。但是,Linux will not read them。除了文件系統之外,這可以在VFS層執行。即使沒有周期,一些用戶空間工具依賴於沒有目錄硬鏈接(例如,GNU查找優化可以跳過許多目錄;它可以用-noleaf禁用)。
出於好奇:你爲什麼需要這個? – 2010-12-11 10:57:44
想象一個嵌入式系統,其資源限制太多,無法承受dbms。數據一致性 – ribamar 2010-12-11 12:47:38