Π ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° e2fsck, Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠ°
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π΅ ΠΏΡΠΈΡΠΈΠ½Π΅Π½Π° ΠΎΡ Π³ΡΠ΅ΡΠΊΠ° Π²ΡΠ² ΡΡΠ½ΠΊΡΠΈΡΡΠ° mutate_name() Π²ΡΠ² ΡΠ°ΠΉΠ»Π° rehash.c, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Ρ Π΅Ρ ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΊΠ°ΡΠΎ ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° ΡΠ° ΡΡΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ°. ΠΠΎΠ²ΡΠ΅Π΄Π°ΡΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° hash_entry, ΡΠ²ΡΡΠ·Π°Π½Π° Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π», ΠΊΠΎΠΉΡΠΎ Π·Π°ΠΏΠΈΡΠ²Π° Π΄Π°Π½Π½ΠΈ Π² ΠΎΠ±Π»Π°ΡΡ ΠΈΠ·Π²ΡΠ½ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π±ΡΡΠ΅Ρ. ΠΠΊΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°ΠΉΠ»Π° Ρ Π΅Π΄Π½ΠΎ ΠΈ ΡΡΡΠΎ ΠΈΠΌΠ΅ ΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ Π² Ρ Π΅Ρ-ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° ΠΊΠ°ΡΠΎ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΊΡΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° e2fsck ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π° Π΄ΡΠ±Π»ΠΈΡΠ°ΡΠΈΡΠ΅ ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²Ρ ~0, ~1 ΠΈ Ρ.Π½. ΠΊΡΠΌ ΠΈΠΌΠ΅ΡΠΎ. ΠΠ° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠΌΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°ΠΊΠΎΠ²Π° ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π΅, Π² ΡΡΠ΅ΠΊΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Ρ Π±ΡΡΠ΅Ρ Ρ ΡΠ°Π·ΠΌΠ΅Ρ 256 Π±Π°ΠΉΡΠ°.
Π Π°Π·ΠΌΠ΅ΡΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΊΠΎΠΏΠΈΡΠ°Ρ, ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΎΡ ΠΈΠ·ΡΠ°Π·Π° "entry->name_len & 0xff", Π½ΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° entry->name_len ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π° ΠΎΡ ΡΡΡΡΠΊΡΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ°, Π° Π½Π΅ ΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΠΈΠΌΠ΅ΡΠΎ. ΠΠΊΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π΅ Π½ΡΠ»Π°, ΡΠΎΠ³Π°Π²Π° ΠΈΠ½Π΄Π΅ΠΊΡΡΡ Π½Π° ΠΌΠ°ΡΠΈΠ²Π° ΠΏΡΠΈΠ΅ΠΌΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ -1 ΠΈ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π° ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½ΠΎ ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ ΠΏΡΠ΅Π· Π΄ΠΎΠ»Π½Π°ΡΠ° Π³ΡΠ°Π½ΠΈΡΠ° Π½Π° Π±ΡΡΠ΅ΡΠ° (integer underflow) ΠΈ ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° Π΄ΡΡΠ³ΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΡΠ΅ΠΊΠ° ΡΡΡ ΡΡΠΎΠΉΠ½ΠΎΡΡ β~0β. ΠΠ° 64-Π±ΠΈΡΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° ΡΠ΅ ΠΎΡΠ΅Π½ΡΠ²Π° ΠΊΠ°ΡΠΎ ΠΌΠ°Π»ΠΊΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΈ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΡΠ΅ΠΊΠ° (ulimit -s unlimited). ΠΠ° 32-Π±ΠΈΡΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ° ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½Π°, Π½ΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ ΡΠΈΠ»Π½ΠΎ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈΡΡ ΡΠ°ΠΉΠ» Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ ΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ°.
ΠΠ° Π΄Π° ΠΈΠ·Π²ΡΡΡΠΈ Π°ΡΠ°ΠΊΠ°, Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π»ΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π½Π°ΡΠΈΠ½ Π² Π΄ΡΠ»Π° Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ext2, ext3 ΠΈΠ»ΠΈ ext4. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ°Π·ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π½Π° ΡΡΠΏΠ΅ΡΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π», ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° Π·Π°ΠΏΠ»Π°Ρ Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° e2fsck ΡΠΊΠ°Π½ΠΈΡΠ° Π²ΡΠ½ΡΠ½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈΠ»ΠΈ Π²ΡΠ½ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ FS ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru