나는 debugfs를 가지고 놀고 있습니다. 먼저 파일을 만들었습니다.
debugfs -w /dev/vda1
> write /etc/hosts /a/b/c/d
파일 시스템이 손상되었습니다.
[root@linux2 /]# ls -l
ls: cannot access /a/b/c/d: No such file or directory
total 8388724
-?????????? ? ? ? ? ? /a/b/c/d
내 생각엔 이 시스템도 망가진 것 같아.
[978471.090291] EXT4-fs error (device vda1): __ext4_new_inode:989: comm SystemLogFlush: failed to insert inode 9190949: doubly allocated?
[978475.765474] EXT4-fs (vda1): pa ffff93f4732c4000: logic 2133, phys. 15753237, len 1963
[978475.767163] EXT4-fs error (device vda1): ext4_mb_release_inode_pa:3803: group 480, free 1962, pa_free 1960
[978475.814801] JBD2: Spotted dirty metadata buffer (dev = vda1, blocknr = 0). There's a risk of filesystem corruption in case of system crash.
debugfs는 inode를 통한 파일 삭제를 지원하지 않으므로 이 파일을 어떻게 삭제합니까?
어떻게 되어가나요?
답변1
문제를 정리하는 가장 쉬운 방법은 파일 시스템을 확인하는 것입니다.
e2fsck -f /dev/vda1
문제는 슬래시가 포함된 디렉토리 항목이 생성된다는 점입니다. 이런 일이 발생하면 안 됩니다. 현재 버전에서는 debugfs
이를 허용하지 않지만 귀하의 버전에서는 허용되는 것 같습니다.