
지난 며칠 동안 저는 컴퓨터가 부팅 직후 또는 직후에 읽기 전용 모드로 전환되는 것을 확인했습니다. 아래는 dmesg에 표시된 오류입니다. 나는 전체 출력을 게시했습니다dmesg | grep btrfs
[ 109.322761] WARNING: CPU: 1 PID: 230 at fs/btrfs/extent-tree.c:3076 btrfs_run_delayed_refs+0x167/0x1b0 [btrfs]
[ 109.322822] pps_core lpc_ich sg crypto_user ip_tables x_tables btrfs xor zstd_decompress zstd_compress xxhash raid6_pq sr_mod sd_mod cdrom hid_generic usbhid hid mvsas libsas ahci scsi_transport_sas libahci ehci_pci xhci_pci libata xhci_hcd ehci_hcd crc32c_intel scsi_mod usbcore usb_common nvidia_drm(PO) nvidia_modeset(PO) drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm agpgart nvidia(PO) ipmi_devintf ipmi_msghandler
[ 109.322910] Workqueue: btrfs-extent-refs btrfs_extent_refs_helper [btrfs]
[ 109.322945] RIP: 0010:btrfs_run_delayed_refs+0x167/0x1b0 [btrfs]
[ 109.322989] delayed_ref_async_start+0x8d/0xa0 [btrfs]
[ 109.323014] normal_work_helper+0x39/0x370 [btrfs]
[ 109.323111] BTRFS: error (device sdb4) in btrfs_run_delayed_refs:3076: errno=-17 Object already exists
파일 시스템은 읽기 전용이므로 이것이 내가 가진 오류 정보의 전부입니다. btrfs check를 실행했는데 결과는 다음과 같습니다.
WARNING: filesystem mounted, continuing because of --force
Checking filesystem on /dev/sdb4
UUID: 3fdec1ea-351f-40c3-a75a-974279e1d0e7
checking extents
checking free space cache
there is no free space entry for 15187968-15192064
there is no free space entry for 15187968-20971520
cache appears valid but isn't 12582912
ERROR: errors found in free space cache
found 79941521408 bytes used, error(s) found
total csum bytes: 71290456
total tree bytes: 1052409856
total fs tree bytes: 905068544
total extent tree bytes: 58998784
btree space waste bytes: 181546084
file data blocks allocated: 285620469760
referenced 77330452480
철저히 설명하기 위해 fdisk가 표시하는 드라이브의 파티션 맵은 다음과 같습니다.
Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: F8B87DB6-4AB2-4090-9C36-93F4CD94C9B3
Device Start End Sectors Size Type
/dev/sdb1 2048 411647 409600 200M EFI System
/dev/sdb2 411648 2508799 2097152 1G Linux filesystem
/dev/sdb3 2508800 18982911 16474112 7.9G Linux swap
/dev/sdb4 18982912 3907028991 3888046080 1.8T Linux filesystem
이 문제를 해결하는 데 도움을 주시면 감사하겠습니다. btrfs 복구를 시도했습니다. 내가 실행한 1시간 동안 계속 같은 내용이 인쇄되었습니다. 체크섬에 관한 내용이었습니다. 라이브 시스템에서 실행되었기 때문에 정확한 출력이 없습니다.