ํจํค์ง์ ์ผ๋ถ๋ก ์ ๊ณต๋๋ e2fsck ์ ํธ๋ฆฌํฐ์์
์ด ์ทจ์ฝ์ ์ ๋๋ ํ ๋ฆฌ์ ๊ด๋ จ๋ ํด์ ํ ์ด๋ธ์ ๋ค์ ์์ฑํ์ฌ ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ํ์ผ์ด ๋๋ ํ ๋ฆฌ์ ์ผ์นํ๋์ง ํ์ธํ๋ ๋ฐ ์ฌ์ฉ๋๋ rehash.c ํ์ผ์ mutate_name() ํจ์ ์ค๋ฅ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค. ๋๋ ํฐ๋ฆฌ์ ๊ด๋ จ๋ hash_entry ๊ตฌ์กฐ๊ฐ ์์๋๋ฉด ๊ณต๊ฒฉ์๊ฐ ํ ๋น๋ ๋ฒํผ ์ธ๋ถ ์์ญ์ ๋ฐ์ดํฐ๋ฅผ ์ธ ์ ์์ต๋๋ค. ๋์ผํ ์ด๋ฆ์ ๊ฐ์ง ์ฌ๋ฌ ํ์ผ์ด ํด์ ํ ์ด๋ธ์์ ๋๋ ํฐ๋ฆฌ์ ์ฐ๊ฒฐ๋ ๊ฒ์ผ๋ก ์๋ณ๋๋ฉด e2fsck ์ ํธ๋ฆฌํฐ๋ ์ด๋ฆ์ ~0, ~1 ๋ฑ์ ์ถ๊ฐํ์ฌ ์ค๋ณต ํ์ผ์ ์ด๋ฆ์ ๋ฐ๊ฟ๋๋ค. ์ด๋ฌํ ์ด๋ฆ ๋ณ๊ฒฝ ์ค์ ์ ์ด๋ฆ์ ์์๋ก ์ ์ฅํ๊ธฐ ์ํด 256๋ฐ์ดํธ ํฌ๊ธฐ์ ๋ฒํผ๊ฐ ์คํ์ ํ ๋น๋ฉ๋๋ค.
๋ณต์ฌํ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ "entry->name_len & 0xff" ํํ์์ ์ํด ๊ฒฐ์ ๋์ง๋ง, Entry->name_len์ ๊ฐ์ ์ด๋ฆ์ ์ค์ ํฌ๊ธฐ์์ ๊ณ์ฐ๋์ง ์๊ณ ๋์คํฌ์ ๊ตฌ์กฐ์์ ๋ก๋๋ฉ๋๋ค. ํฌ๊ธฐ๊ฐ 1์ด๋ฉด ๋ฐฐ์ด ์ธ๋ฑ์ค๋ -0 ๊ฐ์ ๊ฐ์ง๋ฉฐ ๋ฒํผ์ ํ์ ๊ฒฝ๊ณ๋ฅผ ํตํ ์ ์ ์ค๋ฒํ๋ก(์ ์ ์ธ๋ํ๋ก) ๋ฐ ์คํ์ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฅผ "~64" ๊ฐ์ผ๋ก ๋ฎ์ด์ฐ๋ ์กฐ๊ฑด์ด ์์ฑ๋ฉ๋๋ค. 32๋นํธ ์์คํ ์ ๊ฒฝ์ฐ ์ทจ์ฝ์ ์ ์ฉ ๊ฐ๋ฅ์ฑ์ด ๋ฎ์ ๊ฒ์ผ๋ก ํ๊ฐ๋๋ฉฐ ์คํ ํฌ๊ธฐ์ ๋ํ ์ ํ์ด ํ์ํ์ง ์์ต๋๋ค(ulimit -s unlimited). XNUMX๋นํธ ์์คํ ์ ๊ฒฝ์ฐ ์ ์ฉ์ด ๊ฐ๋ฅํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋์ง๋ง ๊ฒฐ๊ณผ๋ ์ปดํ์ผ๋ฌ์์ ์คํ ํ์ผ์ ์ปดํ์ผํ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ํฌ๊ฒ ๋ฌ๋ผ์ง๋๋ค.
๊ณต๊ฒฉ์ ์ํํ๋ ค๋ฉด ๊ณต๊ฒฉ์๋ ext2, ext3 ๋๋ ext4 ํ์ผ ์์คํ ์ด ์๋ ํํฐ์ ์ ๋ฐ์ดํฐ๋ฅผ ํน์ ๋ฐฉ์์ผ๋ก ์์์์ผ์ผ ํฉ๋๋ค. ์ด ์์ ์๋ ์ํผ์ ์ ๊ถํ์ด ํ์ํ๋ฏ๋ก e2fsck ์ ํธ๋ฆฌํฐ๊ฐ ์ธ๋ถ ๋๋ผ์ด๋ธ ๋๋ ์ธ๋ถ์์ ์์ ๋ FS ์ด๋ฏธ์ง๋ฅผ ์ค์บํ ๋ ์ทจ์ฝ์ ์ด ์ํ์ด ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru