Π‘ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡΡΠΈΠ΅ Π²ΡΠΏΡΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° OpenZFS 2.1.14 ΠΈ 2.2.2, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ZFS Π΄Π»Ρ Linux ΠΈ FreeBSD. Π ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΡ ΡΡΡΡΠ°Π½Π΅Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ ΠΊΡΡΠ° dnode, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠ°Ρ ΠΊ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ»Π°Ρ , ΡΠΎΠ΄Π΅ΡΠΆΠ°Π²ΡΠΈΡ ΠΏΡΡΡΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΏΡΠΈ ΠΈΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΡΠ»Π΅ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΠΎΠΏΡΡΠ°Π»ΠΈΡΡ ΡΡΡΡΠ°Π½ΠΈΡΡ Π² Π²Π΅ΡΡΠΈΠΈ 2.2.1, Π½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ. ΠΡΠΈΠ±ΠΊΠ° Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΡΠ°Π²Π°Π»Π°ΡΡ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ ΠΈ Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π½Π΅ΡΡΠ½Π½ΡΡ Π² ΡΡΠΈΠ»ΠΈΡΡ «cp» Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ coreutils 9.x. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π² Red Hat Enterprise Linux ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Π½Π° Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² RHEL 9 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ°ΠΊΠ΅Ρ coreutils 8.x Ρ ΠΈΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΡΠΈΠ»ΠΈΡΡ «cp».
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΈΠ»ΠΈΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΌΠ΅ΡΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΡΡΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π² ΡΠ°ΠΉΠ»Π°Ρ . ΠΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π² Π½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ Π€Π‘ ΠΏΡΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π°, Π΅ΡΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΠΎΡΡΠΈ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΎΡΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² dirty-ΠΊΡΡΠ΅ ΠΈ Π΅ΡΡ Π½Π΅ ΡΠ±ΡΠΎΡΠ΅Π½Π° Π½Π° Π΄ΠΈΡΠΊ.
ΠΠ»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΡΡΡΠΌΠΈ ΠΎΠ±Π»Π°ΡΡΡΠΌΠΈ Π² ΡΠ°ΠΉΠ»Π°Ρ , OpenZFS, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²ΡΠΏΡΡΠΊΠ° 0.6.2, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ SEEK_HOLE ΠΈ SEEK_DATA, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΠΏΡΡΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΡΠ°ΠΉΠ»Π° ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ Ρ Π΄ΠΈΡΠΊΠ°. Π Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ ΠΏΡΡΡΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ±ΡΠΎΡΠ° Π½Π° Π΄ΠΈΡΠΊ Π²ΡΠ΅Ρ ΠΎΡΡΠ°ΡΡΠΈΡ ΡΡ Π² ΠΊΡΡΠ΅ Π΄Π°Π½Π½ΡΡ , ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ. ΠΠ»Ρ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ±ΡΠΎΡΠ° Π² OpenZFS ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ Π² ΠΊΡΡΠ΅ Π½Π΅ΡΠΎΡ ΡΠ°Π½ΡΠ½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ±ΡΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° Π΄ΠΈΡΠΊ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ SEEK_HOLE ΠΈ SEEK_DATA.
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈ ΠΏΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ² Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΠ±ΡΠΎΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ»ΠΎΡΡ Π½Π΅ Π²Π΅ΡΠ½ΠΎ ΠΈ Π½Π° Π΄ΠΈΡΠΊΠ΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΠ»Π°ΡΡ ΡΡΠ°ΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌ ΡΠ°ΠΉΠ»Π°, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΠΏΠ°Π΄Π°Π» Π² Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ ΡΠ±ΡΠΎΡΠ° Π΄Π°Π½Π½ΡΡ
ΠΈΠ· ΠΊΡΡΠ°. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π½ΠΈΡ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΡΡΠΈΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΏΡΡΡΡΡ
ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ, Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈ Π΄Π°Π½Π½ΡΡ
, ΠΏΠΎΡΡΠΈΡΠ°Π² ΠΈΡ
ΠΏΡΡΡΡΠΌΠΈ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ°Ρ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠ³Π»Π° Π²Π½Π΅ΡΡΠΈ Π² ΠΏΡΡΡΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡ «cp» ΠΌΠΎΠ³Π»ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΏΠΈΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΏΡΡΡΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ°ΠΌ, Π³Π΄Π΅ ΠΈΡ
Π½Π΅ Π±ΡΠ»ΠΎ Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru