fstrim: /: FITRIM ioctl 실패: 구조를 정리해야 함

fstrim: /: FITRIM ioctl 실패: 구조를 정리해야 함

내 Debian sid에서 새(1개월 미만) SSD nvme WD SN850에 사용자 지정 5.17.0-rc1 커널을 설치했으며 루트 파티션은 f2fs(v 1.14)로 형식화되었습니다.

알겠어요fstrim: /: FITRIM ioctl failed: Structure needs cleaning

fsck는 정상이고 문제가 발견되지 않으며 운영 체제도 문제 없이 실행됩니다.

sudo fsck.f2fs /dev/nvme0n1p2
Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 976566287 (476839 MB)
Info: MKFS version
  "Linux version 5.5.0-rc6 (u1@jeanordi) (gcc version 9.2.1 20191130 (Debian 9.2.1-21)) #1 SMP PREEMPT Thu Jan 16 00:24:17 CET 2020"
Info: FSCK version
  from "Linux version 5.5.0-rc6 (u1@jeanordi) (gcc version 9.2.1 20191130 (Debian 9.2.1-21)) #1 SMP PREEMPT Thu Jan 16 00:24:17 CET 2020"
    to "Linux version 5.5.0-rc6 (u1@jeanordi) (gcc version 9.2.1 20191130 (Debian 9.2.1-21)) #1 SMP PREEMPT Thu Jan 16 00:24:17 CET 2020"
Info: superblock features = 0 : 
Info: superblock encrypt level = 0, salt = 00000000000000000000000000000000
Info: total FS sectors = 976566280 (476839 MB)
Info: CKPT version = 1d9fb4bd
Info: checkpoint state = 55 :  crc fsck compacted_summary unmount

[FSCK] Unreachable nat entries                        [Ok..] [0x0]
[FSCK] SIT valid block bitmap checking                [Ok..]
[FSCK] Hard link checking for regular file            [Ok..] [0xb]
[FSCK] valid_block_count matching with CP             [Ok..] [0x44993b]
[FSCK] valid_node_count matching with CP (de lookup)  [Ok..] [0x16c2c]
[FSCK] valid_node_count matching with CP (nat lookup) [Ok..] [0x16c2c]
[FSCK] valid_inode_count matched with CP              [Ok..] [0x15d7c]
[FSCK] free segment_count matched with CP             [Ok..] [0x374d7]
[FSCK] next block offset is free                      [Ok..]
[FSCK] fixing SIT types
[FSCK] other corrupted bugs                           [Ok..]

Done: 2.975766 secs

답변1

ArchWiki는 다음과 같이 말합니다 f2fs.

기본적으로 F2FS는 순차 TRIM처럼 작동하는 혼합 TRIM 모드를 사용하여 설치됩니다. 이 구현은 RW IO 간의 긴 폐기 지연을 완화하기 위해 비동기 폐기 스레드를 생성합니다. 후보를 메모리에 유지하고 스레드는 유휴 시간 동안 후보를 방출합니다[8]. 따라서 주기적인 TRIM을 원하는 사용자는 설치 옵션을 암시적으로 설정해야 하며 , nodiscard수동으로 설치하는 경우 /etc/fstab이를 전달해야 합니다 .mount

즉, 루트 파일 시스템(아마도 initramfs에 있음)에 대한 마운트 옵션을 지정하지 않으면 실행할 수 없으며 시스템이 실행되지 않을 때마다 백그라운드에서 자동으로 실행되므로 그렇게 할 nodiscard필요 도 없습니다 . 더 중요한 할 일이 있습니다.fstrimf2fsf2fs

fstrimon을 사용하려면 마운트 옵션을 f2fs사용하여 nodiscard지속적인 백그라운드 TRIM 작업을 중지하고 수동으로 수행할 수 있도록 해야 합니다 fstrim.

그런데 FITRIM ioctl failed: Structure needs cleaning결과가 정말 이상하네요.fstrim이는 오류를 생성하는 소스의 위치인 것 같습니다.

이 오류는 값이 임을 Structure needs cleaning의미합니다 . ~에 따르면errnoEUCLEAN엘릭서 상호 참조자, 이는 f2fs드라이버 에 나타납니다.한 곳에서만:

#define EFSCORRUPTED    EUCLEAN     /* Filesystem is corrupted */

아...f2fs가 EUCLEAN동의어로 정의된 것 같은데 EFSCORRUPTED확인하시면 됩니다f2fs 드라이버 내의 여러 위치에서, 원인이 무엇이든 아마도 나쁜 소식일 것입니다.

파일 f2fs시스템이 손상되었을 수 있습니다.

관련 정보