Cisco แžŽแŸ‚แž“แžถแŸ†แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžฏแž€แžŸแžถแžš PuzzleFS แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžแžบแžŽแŸ‚แž›แž›แžธแž“แžปแž…

Cisco แž”แžถแž“แžŸแŸ’แž“แžพแžšแž”แŸ’แžšแž–แŸแž“แŸ’แž’แžฏแž€แžŸแžถแžšแžแŸ’แž˜แžธ PuzzleFS แžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแž‡แžถแž˜แŸ‰แžผแžŒแžปแž›แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžแžบแžŽแŸ‚แž›แž›แžธแž“แžปแž… แžŠแŸ‚แž›แžŸแžšแžŸแŸแžšแž‡แžถ Rust แŸ” แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžฏแž€แžŸแžถแžšแžแŸ’แžšแžผแžœแž”แžถแž“แžšแž…แž“แžถแžกแžพแž„แžŠแžพแž˜แŸ’แž”แžธแž”แŸ’แžšแžพแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž•แŸ’แž‘แžปแž€แž’แžปแž„แžŠแžถแž…แŸ‹แžŠแŸ„แž™แžกแŸ‚แž€ แž“แžทแž„แž”แž“แŸ’แžแžขแž—แžทแžœแžŒแŸ’แžแž‚แŸ†แž“แžทแžแžŠแŸ‚แž›แž”แžถแž“แžŸแŸ’แž“แžพแžกแžพแž„แž“แŸ…แž€แŸ’แž“แžปแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžฏแž€แžŸแžถแžš Atomfs แŸ” แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแž“แŸ…แžแŸ‚แžŸแŸ’แžแžทแžแž€แŸ’แž“แžปแž„แžŠแŸ†แžŽแžถแž€แŸ‹แž€แžถแž›แž‚แŸ†แžšแžผ แž‚แžถแŸ†แž‘แŸ’แžšแž€แžถแžšแž€แžŸแžถแž„แž‡แžถแž˜แžฝแž™แž“แžนแž„แžŸแžถแžแžถแžแžบแžŽแŸ‚แž›แž›แžธแž“แžปแž…แž”แž“แŸ’แž‘แžถแž”แŸ‹แž…แŸ’แžšแŸแŸ‡ แž“แžทแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž”แžพแž€แž“แŸ…แž€แŸ’แžšแŸ„แž˜แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽ Apache 2.0 แž“แžทแž„ MIT แŸ”

แž‚แž˜แŸ’แžšแŸ„แž„แž“แŸแŸ‡แž˜แžถแž“แž‚แŸ„แž›แž”แŸ†แžŽแž„แžšแŸ†แž›แž„แžŠแŸ‚แž“แž€แŸ†แžŽแžแŸ‹แžŠแŸ‚แž›แž€แžพแžแžกแžพแž„แž“แŸ…แž–แŸแž›แž”แŸ’แžšแžพแžšแžผแž”แž—แžถแž–แž€แžปแž„แžแžบแž“แŸแžšแž€แŸ’แž“แžปแž„แž‘แž˜แŸ’แžšแž„แŸ‹ OCI (Open Container Initiative)แŸ” PuzzleFS แžŠแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แž”แž‰แŸ’แž แžถแžŠแžผแž…แž‡แžถแž€แžถแžšแž•แŸ’แž‘แžปแž€แž‘แžทแž“แŸ’แž“แž“แŸแž™แžŸแŸ’แž‘แžฝแž“แž”แŸ’แžšแž€แž”แžŠแŸ„แž™แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž– แžŸแž˜แžแŸ’แžแž—แžถแž–แž—แŸ’แž‡แžถแž”แŸ‹แžŠแŸ„แž™แž•แŸ’แž‘แžถแž›แŸ‹ แž€แžถแžšแž”แž„แŸ’แž€แžพแžแžšแžผแž”แž—แžถแž–แžŠแžŠแŸ‚แž›แŸ— แž“แžทแž„แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ†แŸ”

แžŠแžพแž˜แŸ’แž”แžธแž…แž˜แŸ’แž›แž„แž‘แžทแž“แŸ’แž“แž“แŸแž™แžŠแŸ‚แž›แž€แžพแžแžกแžพแž„แž˜แŸ’แžแž„แž‘แŸ€แžแž€แŸ’แž“แžปแž„แž’แžปแž„แž•แŸ’แžŸแŸแž„แŸ—แž‚แŸ’แž“แžถ แž€แŸ’แž”แžฝแž“แžŠแŸ„แŸ‡แžŸแŸ’แžšแžถแž™ FastCDC (Fast Content-Defined Chunking) แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพ แžŠแŸ‚แž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŠแŸ„แž™แž€แžถแžšแž”แŸ‚แž„แž…แŸ‚แž€แž‘แžทแž“แŸ’แž“แž“แŸแž™แž‘แŸ…แž‡แžถแž”แŸ†แžŽแŸ‚แž€แž“แŸƒแž‘แŸ†แž แŸ†แžแžถแž˜แžขแŸ†แž–แžพแž…แžทแžแŸ’แž แž“แžทแž„แžšแž€แŸ’แžŸแžถแž›แžทแž”แžทแž€แŸ’แžšแž˜แžŠแŸ‚แž›แž˜แžถแž“แžŸแž‰แŸ’แž‰แžถแž“แŸƒแž”แŸ†แžŽแŸ‚แž€แžŠแŸ‚แž›แž”แžถแž“แžŠแŸ†แžŽแžพแžšแž€แžถแžšแŸ” แž”แŸ†แžŽแŸ‚แž€แžŠแŸ‚แž›แž’แŸ’แžœแžพแž˜แŸ’แžแž„แž‘แŸ€แžแžแŸ’แžšแžผแžœแž”แžถแž“แžšแž€แŸ’แžŸแžถแž‘แžปแž€แž˜แŸ’แžแž„ แž“แžทแž„แž’แŸ’แžœแžพแž›แžทแž”แžทแž€แŸ’แžšแž˜แžšแžฝแž˜แž‚แŸ’แž“แžถแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŸแŸ’แžšแž‘แžถแž”แŸ‹แž‘แžถแŸ†แž„แžขแžŸแŸ‹แž“แŸƒแž”แŸ’แžšแž–แŸแž“แŸ’แž’แžฏแž€แžŸแžถแžš i.e. แž€แžถแžšแžŠแž€แžŸแŸ’แž‘แžฝแž“แžขแžถแž…แž‚แŸ’แžšแž”แžŠแžŽแŸ’แžแž”แŸ‹แž›แžพแž…แŸ†แžŽแžปแž…แž˜แŸ‰แŸ„แž“แž•แŸ’แžŸแŸแž„แŸ—แž‚แŸ’แž“แžถ (แžŸแŸ’แžšแž‘แžถแž”แŸ‹ FS แžแŸ’แž˜แžธแžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŠแŸ„แž™แž•แŸ’แžขแŸ‚แž€แž›แžพแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แžŠแŸ‚แž›แž˜แžถแž“แžŸแŸ’แžšแžถแž”แŸ‹ แž แžพแž™แž”แŸ’แžšแžพแž”แŸ†แžŽแŸ‚แž€แž‘แžทแž“แŸ’แž“แž“แŸแž™แžŠแŸ‚แž›แž˜แžถแž“แž“แŸ…แž€แŸ’แž“แžปแž„แžœแžถแž€แŸ†แžกแžปแž„แž–แŸแž›แžŠแž€แžŸแŸ’แž‘แžฝแž“)แŸ”

แž€แžถแžšแž•แŸ’แž‚แžปแŸ†แžšแžผแž”แž€แžปแž„แžแžบแž“แŸแžšแžŠแžŠแŸ‚แž›แŸ—แžแŸ’แžšแžผแžœแž”แžถแž“แžŸแž˜แŸ’แžšแŸแž…แžแžถแž˜แžšแž™แŸˆแž€แžถแžšแž€แŸ†แžŽแžแŸ‹แžแŸ†แžŽแžถแž„ Canonical แž“แŸƒแž‘แŸ’แžšแž„แŸ‹แž‘แŸ’แžšแžถแž™แžšแžผแž”แž—แžถแž–แž€แžปแž„แžแžบแž“แŸแžšแŸ” Direct-mount แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แž—แŸ’แž‡แžถแž”แŸ‹แžšแžผแž”แž—แžถแž–แž€แžปแž„แžแžบแž“แŸแžš OCI แž–แžธแž€แž“แŸ’แž›แŸ‚แž„แž•แŸ’แž‘แžปแž€แžšแžฝแž˜แž‚แŸ’แž“แžถแž‡แžถแžŸแž€แž› แžŠแŸ„แž™แž˜แžทแž“แž…แžถแŸ†แž”แžถแž…แŸ‹แž–แž“แŸ’แž›แžถแžœแžถแž‡แžถแž˜แžปแž“ แžŠแŸ„แž™แž”แŸ’แžšแžพแžŸแž‰แŸ’แž‰แžถแž“แŸƒแž˜แžถแžแžทแž€แžถแž–แžธแž€แžปแž„แžแžบแž“แŸแžš manifest แž‡แžถแžขแŸ’แž“แž€แž€แŸ†แžŽแžแŸ‹แžขแžแŸ’แžแžŸแž‰แŸ’แž‰แžถแžŽแŸ” แžŠแžพแž˜แŸ’แž”แžธแž•แŸ’แž‘แŸ€แž„แž•แŸ’แž‘แžถแžแŸ‹แž—แžถแž–แžแŸ’แžšแžนแž˜แžแŸ’แžšแžผแžœแž“แŸƒแž‘แžทแž“แŸ’แž“แž“แŸแž™ แž“แŸ…แž–แŸแž›แž”แŸ’แžšแžพแž€แž“แŸ’แž›แŸ‚แž„แž•แŸ’แž‘แžปแž€แžšแžฝแž˜แž‚แŸ’แž“แžถ แž™แž“แŸ’แžแž€แžถแžš fs-verity แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพ แžŠแŸ‚แž›แž“แŸ…แž–แŸแž›แž…แžผแž›แž”แŸ’แžšแžพแžฏแž€แžŸแžถแžš แž–แžทแž“แžทแžแŸ’แž™แž˜แžพแž›แž€แžถแžšแž†แŸ’แž›แžพแž™แž†แŸ’แž›แž„แž“แŸƒแžŸแž‰แŸ’แž‰แžถแžŠแŸ‚แž›แž”แžถแž“แž”แž‰แŸ’แž‡แžถแž€แŸ‹แž“แŸ…แž€แŸ’แž“แžปแž„แžŸแž“แŸ’แž‘แžŸแŸ’แžŸแž“แŸแž‚แŸ„แž›แž–แžธแžšแž‡แžถแž˜แžฝแž™แž“แžนแž„แžแŸ’แž›แžนแž˜แžŸแžถแžšแž‡แžถแž€แŸ‹แžŸแŸ’แžแŸ‚แž„แŸ”

แž—แžถแžŸแžถ Rust แžแŸ’แžšแžผแžœแž”แžถแž“แž‡แŸ’แžšแžพแžŸแžšแžพแžŸ แžŠแŸ„แž™แžŸแžถแžšแžœแžถแžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž‚แŸ’แž“แžถแž“แžผแžœแžŠแŸ†แžŽแžพแžšแž€แžถแžšแžแŸ’แž–แžŸแŸ‹แž“แŸƒแž€แžผแžŠแž›แž‘แŸ’แž’แž•แž› แž‡แžถแž˜แžฝแž™แž“แžนแž„แžŸแž˜แžแŸ’แžแž—แžถแž–แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž„แžถแžšแž”แŸ’แžšแž€แž”แžŠแŸ„แž™แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แž‡แžถแž˜แžฝแž™แž“แžนแž„แžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ† แžŠแŸ‚แž›แž€แžถแžแŸ‹แž”แž“แŸ’แžแž™แž แžถแž“แžทแž—แŸแž™แž“แŸƒแž—แžถแž–แž„แžถแž™แžšแž„แž‚แŸ’แžšแŸ„แŸ‡แžŠแŸ‚แž›แž”แžŽแŸ’แžแžถแž›แž˜แž€แž–แžธแž”แž‰แŸ’แž แžถแžŠแžผแž…แž‡แžถแž€แžถแžšแž…แžผแž›แž‘แŸ…แž€แžถแž“แŸ‹แžแŸ†แž”แž“แŸ‹แžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ† แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแžœแžถแžแŸ’แžšแžผแžœแž”แžถแž“แžŠแŸ„แŸ‡แž›แŸ‚แž„ แž“แžทแž„แž แžฝแžŸแž–แŸ’แžšแŸ†แžŠแŸ‚แž“แžŸแžแžทแž”แžŽแŸ’แžŠแŸ„แŸ‡แžขแžถแžŸแž“แŸ’แž“แŸ” แž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ Rust แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž˜แŸ‰แžผแžŒแžปแž›แžแžบแžŽแŸ‚แž›แž€แŸแž”แžถแž“แž’แŸ’แžœแžพแžฑแŸ’แž™แžœแžถแžขแžถแž…แž…แŸ‚แž€แžšแŸ†แž›แŸ‚แž€แž€แžผแžŠแžšแžœแžถแž„แžแžบแžŽแŸ‚แž› แž“แžทแž„แžŸแž˜แžถแžŸแž—แžถแž‚แž‘แŸ†แž แŸ†แžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ แžŠแžพแž˜แŸ’แž”แžธแž”แž„แŸ’แž€แžพแžแž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแž”แŸ’แžšแž€แž”แžŠแŸ„แž™แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แžแŸ‚แž˜แžฝแž™แŸ”

แž‚แŸ„แž›แžŠแŸ…แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแž“แŸƒแž‚แž˜แŸ’แžšแŸ„แž„แžšแžฝแž˜แž˜แžถแž“แŸˆ แž€แžถแžšแž”แž„แŸ’แž€แžพแž แž“แžทแž„แž˜แŸ‰แŸ„แž“แžšแžผแž”แž—แžถแž–แž›แžฟแž“แžแŸ’แž›แžถแŸ†แž„ แžŸแž˜แžแŸ’แžแž—แžถแž–แž€แŸ’แž“แžปแž„แž€แžถแžšแž”แŸ’แžšแžพแžŠแŸ†แžŽแžถแž€แŸ‹แž€แžถแž›แž˜แž’แŸ’แž™แž˜แž‡แžถแž‡แž˜แŸ’แžšแžพแžŸแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แž„แŸ’แž€แžพแžแžšแžผแž”แž—แžถแž– canonicalization แž‡แž˜แŸ’แžšแžพแžŸแž“แŸƒแž˜แŸ‚แž€แž’แžถแž„แžฏแž€แžŸแžถแžšแžšแž…แž“แžถแž”แŸแž‘แŸ’แž˜ mtree แž–แŸแž‰แž›แŸแž‰แž†แŸ’แž›แž„แž€แžถแžแŸ‹แž“แŸ…แž–แŸแž›แž”แŸ’แžšแžพแžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แž–แž แžปแžŸแŸ’แžšแž‘แžถแž”แŸ‹ แž€แžถแžšแžŠแžถแž€แŸ‹แžšแž…แž“แžถแž”แŸแž‘แŸ’แž˜ casync แž“แŸƒแž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžš แž“แžทแž„แžŸแŸ’แžแžถแž”แžแŸ’แž™แž€แž˜แŸ’แž˜แž„แžถแž™แžŸแŸ’แžšแžฝแž›แžขแž“แžปแžœแžแŸ’แžแŸ”

แž”แŸ’แžšแž—แž–: opennet.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹