ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Cisco ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»Π° Π½ΠΎΠ²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ PuzzleFS, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΡΠ΄ΡΠ° Linux, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust. Π€Π‘ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΈΠ΄Π΅ΠΉ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² Π€Π‘ Atomfs. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ±ΠΎΡΠΊΡ Ρ Π²Π΅ΡΠΊΠΎΠΉ ΡΠ΄ΡΠ° Linux rust-next ΠΈ ΠΎΡΠΊΡΡΡΠ° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΌΠΈ Apache 2.0 ΠΈ MIT.
ΠΡΠΎΠ΅ΠΊΡ Π½Π°ΡΠ΅Π»Π΅Π½ Π½Π° ΠΎΠ±Ρ ΠΎΠ΄ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ OCI (Open Container Initiative). PuzzleFS ΡΠ΅ΡΠ°Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΊΠ°ΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄ΡΠ±Π»ΠΈΡΡΡΡΠΈΡ ΡΡ Π΄Π°Π½Π½ΡΡ , Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠ°Ρ ΡΠ±ΠΎΡΠΊΠ° ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΡΡΡΡ.
ΠΠ»Ρ Π΄Π΅Π΄ΡΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ Π² ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ Π΄Π°Π½Π½ΡΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ FastCDC (Fast Content-Defined Chunking), ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΡΠ΅ΡΠ΅Π· ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π½Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Ρ Ρ ΡΡΠ°ΠΌΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ Ρ ΡΠ°Π½ΡΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΡΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ»ΠΎΡΠ² Π€Π‘, Ρ.Π΅. Π΄Π΅Π΄ΡΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π½ΠΎΠ²ΡΠΉ ΡΠ»ΠΎΠΉ Π€Π‘ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ Π² Π½ΡΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ Π΄Π΅Π΄ΡΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ).
ΠΠΎΠ²ΡΠΎΡΡΡΡΠ°ΡΡΡ ΡΠ±ΠΎΡΠΊΠ° ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠ° ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². ΠΡΡΠΌΠΎΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (direct-mount) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ°Π· ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ OCI ΠΈΠ· Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π±Π΅Π· Π΅Π³ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° Ρ ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠ»Ρ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ fs-verity, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ Ρ ΡΡΠ΅ΠΉ Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ.
Π―Π·ΡΠΊ Rust Π²ΡΠ±ΡΠ°Π½ ΠΊΠ°ΠΊ ΡΠΎΡΠ΅ΡΠ°ΡΡΠΈΠΉ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ°ΠΌΡΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ½ΠΈΠ·ΠΈΡΡ ΡΠΈΡΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π²ΡΠ·Π²Π°Π½Π½ΡΡ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΡΠ»Π΅ Π΅Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ Π²ΡΡ ΠΎΠ΄ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ Π±ΡΡΠ΅ΡΠ°. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Rust Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΄ΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π² ΡΠ΄ΡΠ΅ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ , ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΅Π΄ΠΈΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΡΠ½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Π‘ΡΠ΅Π΄ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°: ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠ°Ρ ΡΠ±ΠΎΡΠΊΠ° ΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ², Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠΉ ΡΡΠ°Π΄ΠΈΠΈ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ (canonicalization) ΠΎΠ±ΡΠ°Π·ΠΎΠ², Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ»Π½ΡΡ
ΠΏΡΠΎΡ
ΠΎΠ΄ΠΎΠ² ΠΏΠΎ Π΄Π΅ΡΠ΅Π²Ρ Π€Π‘ Π² ΡΡΠΈΠ»Π΅ mtree ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠΉΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ, Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡΠΈΠ»Π΅ casync ΠΈ ΠΏΡΠΎΡΡΠ°Ρ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru