BTRFS Failure after force restart

Not sure why this happens, but almost every time I have to force restart, btrfs fails after that.
I mean I don’t know if I have to force-restart because btrfs fails, or if btrfs fails because I have to force-restart.

This happened to me a few times. Mostly because I was doing some random wrong things.
For example breaking my graphics drivers or trying to login to an X11 session without knowing what I was doing, I reached a point where the screen was black and I couldn’t even login to another tty.

The isue

So I had to force-restart with Alt+PrintScreen + R E I S U B.
Almost always after the system restarted, it wouldn’t go past the unlock-encryption stage.

Fix

So after a while I found a way to fix this and restore my system to a working state. Just in case anyone else needs them, here they are:

  1. Boot from live usb.
  2. Try to mount your partition.
  3. If you use encryption, open the device with cryptsetup open
  4. If you see an error about superblock or open_ctree failed: -5, proceed to the next step.
  5. From the terminal, run btrfs rescue zero-log /dev/nvme0n1 or /dev/sdaX or /dev/mapper/your_crypt_open_device

After this, I can restart the computer and use it normally, or I can stay in the live usb environment and chroot into my install (after mounting my root garuda partition) if I want to fix any graphics-related issues that I caused previously.

Questions

  1. Does anyone know why btrfs keeps failing in this situation? Is it something that is known?
  2. And another question, am I risking anything by clearing out the broken log tree with zero-log?

garuda inxi

System:
  Kernel: 6.15.5-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 15.1.1 clocksource: tsc
    avail: acpi_pm parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=28bd6bff-8598-41ce-bec6-ae24465d3bca rw rootflags=subvol=@
    vt.default_red=30,243,166,249,137,245,148,186,88,243,166,249,137,245,148,166
    vt.default_grn=30,139,227,226,180,194,226,194,91,139,227,226,180,194,226,173
    vt.default_blu=46,168,161,175,250,231,213,222,112,168,161,175,250,231,213,200 quiet
    nvidia-drm.modeset=1 rd.luks.uuid=316249cc-7193-456f-89c1-f3206c9aa185
    rd.luks.key=316249cc-7193-456f-89c1-f3206c9aa185=/.docs/2025.jpg:UUID=C676-0984
    rd.luks.options=316249cc-7193-456f-89c1-f3206c9aa185=keyfile-timeout=10s
    rd.luks.uuid=eafba6ea-1842-45d3-8af3-5ce617c6f478
    resume=/dev/mapper/luks-eafba6ea-1842-45d3-8af3-5ce617c6f478 loglevel=3 ibt=off
  Desktop: KDE Plasma v: 6.4.2 tk: Qt v: N/A info: frameworks v: 6.15.0 wm: kwin_wayland vt: 1
    dm: SDDM Distro: Garuda base: Arch Linux
Machine:
  Type: Laptop System: ASUSTeK product: ZenBook Pro Duo UX582HS_UX582HS v: 1.0
    serial: <superuser required>
  Mobo: ASUSTeK model: UX582HS v: 1.0 serial: <superuser required> uuid: <superuser required>
    UEFI: American Megatrends LLC. v: UX582HS.303 date: 04/21/2022
Battery:
  ID-1: BAT0 charge: 92.6 Wh (100.0%) condition: 92.6/92.6 Wh (100.0%) volts: 15.9 min: 15.9
    model: ASUSTeK ASUS Battery type: Li-ion serial: N/A status: not charging cycles: 11
  Device-1: hidpp_battery_0 model: Logitech MX Ergo Multi-Device Trackball serial: <filter>
    charge: 50% (should be ignored) rechargeable: yes status: discharging
  Device-2: hidpp_battery_1 model: Logitech Marathon Mouse/Performance Plus M705 serial: <filter>
    charge: 50% (should be ignored) rechargeable: yes status: N/A
CPU:
  Info: model: 11th Gen Intel Core i9-11900H bits: 64 type: MT MCP arch: Tiger Lake gen: core 11
    level: v4 note: check built: 2020 process: Intel 10nm family: 6 model-id: 0x8D (141) stepping: 1
    microcode: 0x56
  Topology: cpus: 1x dies: 1 clusters: 8 cores: 8 threads: 16 tpc: 2 smt: enabled cache:
    L1: 640 KiB desc: d-8x48 KiB; i-8x32 KiB L2: 10 MiB desc: 8x1.2 MiB L3: 24 MiB desc: 1x24 MiB
  Speed (MHz): avg: 2694 min/max: 800/4900:4800 scaling: driver: intel_pstate
    governor: performance cores: 1: 2694 2: 2694 3: 2694 4: 2694 5: 2694 6: 2694 7: 2694 8: 2694
    9: 2694 10: 2694 11: 2694 12: 2694 13: 2694 14: 2694 15: 2694 16: 2694 bogomips: 79872
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
Graphics:
  Device-1: Intel TigerLake-H GT1 [UHD Graphics] vendor: ASUSTeK driver: i915 v: kernel
    alternate: xe arch: Xe process: Intel 10nm built: 2020-21 ports: active: DP-2,DP-3,eDP-1
    empty: DP-1,HDMI-A-2 bus-ID: 0000:00:02.0 chip-ID: 8086:9a60 class-ID: 0300
  Device-2: NVIDIA GA104M [GeForce RTX 3080 Mobile / Max-Q 8GB/16GB] vendor: ASUSTeK
    driver: nvidia v: 575.64.03 alternate: nouveau,nvidia_drm non-free: 550-570.xx+ status: current
    (as of 2025-04; EOL~2026-12-xx) arch: Ampere code: GAxxx process: TSMC n7 (7nm)
    built: 2020-2023 ports: active: none empty: HDMI-A-1 bus-ID: 0000:01:00.0 chip-ID: 10de:249c
    class-ID: 0300
  Device-3: IMC Networks USB2.0 HD UVC WebCam driver: uvcvideo type: USB rev: 2.0 speed: 480 Mb/s
    lanes: 1 mode: 2.0 bus-ID: 3-9:4 chip-ID: 13d3:56eb class-ID: fe01 serial: <filter>
  Display: wayland server: X.org v: 1.21.1.18 with: Xwayland v: 24.1.8 compositor: kwin_wayland
    driver: X: loaded: modesetting,nvidia unloaded: nouveau,vesa alternate: fbdev,intel,nv dri: iris
    gpu: i915 d-rect: 3840x5420 display-ID: 0
  Monitor-1: DP-2 pos: primary,top model: ASUS PA279 serial: <filter> built: 2022 res:
    mode: 3840x2160 hz: 60 scale: 150% (1.5) to: 2560x1440 dpi: 163 gamma: 1.2
    size: 597x336mm (23.5x13.23") diag: 685mm (27") ratio: 16:9 modes: max: 3840x2160 min: 640x480
  Monitor-2: DP-3 pos: bottom model: BOE Display 0x085f built: 2021 res: mode: 3840x1100 hz: 60
    scale: 150% (1.5) to: 2560x733 dpi: 284 gamma: 1.2 size: 344x99mm (13.54x3.9")
    diag: 358mm (14.1") modes: max: 3840x1100 min: 1920x550
  Monitor-3: eDP-1 pos: middle model: Samsung 0x415f built: 2019 res: mode: 3840x2160 hz: 60
    scale: 200% (2) to: 1920x1080 dpi: 284 gamma: 1.2 size: 344x194mm (13.54x7.64")
    diag: 395mm (15.5") ratio: 16:9 modes: 3840x2160
  API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris device: 2 drv: swrast gbm:
    drv: iris surfaceless: drv: iris wayland: drv: iris x11: drv: iris inactive: device-1
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: nvidia mesa v: 575.64.03 glx-v: 1.4 direct-render: yes
    renderer: NVIDIA GeForce RTX 3080 Laptop GPU/PCIe/SSE2 memory: 7.81 GiB display-ID: :1.0
  API: Vulkan v: 1.4.313 layers: 11 device: 0 type: integrated-gpu name: Intel UHD Graphics (TGL
    GT1) driver: mesa intel v: 25.1.5-arch1.1 device-ID: 8086:9a60 surfaces: N/A device: 1
    type: discrete-gpu name: NVIDIA GeForce RTX 3080 Laptop GPU driver: nvidia v: 575.64.03
    device-ID: 10de:249c surfaces: N/A device: 2 type: cpu name: llvmpipe (LLVM 20.1.7 256 bits)
    driver: mesa llvmpipe v: 25.1.5-arch1.1 (LLVM 20.1.7) device-ID: 10005:0000 surfaces: N/A
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo de: kscreen-console,kscreen-doctor
    gpu: gputop, intel_gpu_top, lsgpu, nvidia-settings, nvidia-smi wl: wayland-info x11: xdriinfo,
    xdpyinfo, xprop, xrandr
Audio:
  Device-1: Intel Tiger Lake-H HD Audio vendor: ASUSTeK driver: sof-audio-pci-intel-tgl
    alternate: snd_hda_intel, snd_soc_avs, snd_sof_pci_intel_tgl bus-ID: 0000:00:1f.3
    chip-ID: 8086:43c8 class-ID: 0401
  Device-2: NVIDIA GA104 High Definition Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel
    bus-ID: 0000:01:00.1 chip-ID: 10de:228b class-ID: 0403
  API: ALSA v: k6.15.5-zen1-1-zen status: kernel-api tools: alsactl,alsamixer,amixer
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.4.6 status: active with: 1: pipewire-pulse status: active
    2: wireplumber status: active 3: pipewire-alsa type: plugin 4: pw-jack type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel Tiger Lake PCH CNVi WiFi driver: iwlwifi v: kernel bus-ID: 0000:00:14.3
    chip-ID: 8086:43f0 class-ID: 0280
  IF: wlo1 state: up mac: <filter>
  Device-2: Realtek USB 10/100/1G/2.5G LAN driver: r8152 type: USB rev: 3.2 speed: 5 Gb/s
    lanes: 1 mode: 3.2 gen-1x1 bus-ID: 4-1:2 chip-ID: 0bda:8156 class-ID: 0000 serial: <filter>
  IF: enp0s20f0u1 state: up speed: 2500 Mbps duplex: full mac: <filter>
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: Intel AX201 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s lanes: 1
    mode: 1.1 bus-ID: 3-14:7 chip-ID: 8087:0026 class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 2 state: up address: N/A
RAID:
  Hardware-1: Intel Volume Management Device NVMe RAID Controller driver: vmd v: 0.6 port: N/A
    bus-ID: 0000:00:0e.0 chip-ID: 8086:9a0b rev: class-ID: 0104
Drives:
  Local Storage: total: 1.82 TiB used: 593.27 GiB (31.8%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung model: SSD 980 PRO 2TB size: 1.82 TiB
    block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 5B2QGXA7 temp: 39.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 410.15 GiB size: 410.15 GiB (100.00%) used: 111.25 GiB (27.1%) fs: btrfs
    dev: /dev/dm-0 maj-min: 253:0 mapped: luks-316249cc-7193-456f-89c1-f3206c9aa185
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 776 KiB (0.3%) fs: vfat
    dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 410.15 GiB size: 410.15 GiB (100.00%) used: 111.25 GiB (27.1%) fs: btrfs
    dev: /dev/dm-0 maj-min: 253:0 mapped: luks-316249cc-7193-456f-89c1-f3206c9aa185
  ID-4: /var/log raw-size: 410.15 GiB size: 410.15 GiB (100.00%) used: 111.25 GiB (27.1%)
    fs: btrfs dev: /dev/dm-0 maj-min: 253:0 mapped: luks-316249cc-7193-456f-89c1-f3206c9aa185
  ID-5: /var/tmp raw-size: 410.15 GiB size: 410.15 GiB (100.00%) used: 111.25 GiB (27.1%)
    fs: btrfs dev: /dev/dm-0 maj-min: 253:0 mapped: luks-316249cc-7193-456f-89c1-f3206c9aa185
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: partition size: 34.14 GiB used: 0 KiB (0.0%) priority: -2 dev: /dev/dm-1
    maj-min: 253:1 mapped: luks-eafba6ea-1842-45d3-8af3-5ce617c6f478
  ID-2: swap-2 type: zram size: 31.03 GiB used: 2.61 GiB (8.4%) priority: 100 comp: zstd
    avail: lzo-rle,lzo,lz4,lz4hc,deflate,842 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 77.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 32 GiB note: est. available: 31.03 GiB used: 20.43 GiB (65.8%)
  Processes: 453 Power: uptime: 14h 51m states: freeze,mem,disk suspend: s2idle avail: deep
    wakeups: 0 hibernate: platform avail: shutdown, reboot, suspend, test_resume image: 12.36 GiB
    services: org_kde_powerdevil, power-profiles-daemon, upowerd Init: systemd v: 257
    default: graphical tool: systemctl
  Packages: 1772 pm: pacman pkgs: 1765 libs: 435 tools: octopi,paru,yay pm: rpm pkgs: 0
    pm: flatpak pkgs: 7 Compilers: clang: 20.1.7 gcc: 15.1.1 alt: 14 Client: Unknown Client: electron
    inxi: 3.3.38
Garuda (2.7.3-1):
  System install date:     2025-06-26
  Last full system update: 2025-07-09 ↻
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut
  Windows dual boot:       No/Undetected
  Failed units:            afc.service 

BTW astrodarius :upside_down_face:
Once again…
In your own topic you should read how to install the right nvidia driver for your kernel. (dependence from kernel)

The zen kernel need the nvidia-open-dkms driver.
deinstall: (pls compare self what you must deinstall over pacman -Qs nvidia)
default is this:
egl-wayland gwe nvidia-utils nvidia-settings opencl-nvidia lib32-nvidia-utils lib32-opencl-nvidia nvidia-dkms
i would use this:
sudo pacman -Rdd garuda-nvidia-config nvidia-dkms nvidia-settings nvidia-utils opencl-nvidia libxnvctrl lib32-nvidia-utils lib32-opencl-nvidia gwe python-py3nvml nvidia-prime
then (without reboot)
sudo pacman -S nvidia-open-dkms egl-wayland lib32-nvidia-utils lib32-opencl-nvidia nvidia-settings opencl-nvidia nvidia-utils nvidia-prime and type yes for all dependence
then reboot
but all this → another topic..pls

That could be a unclean shutdown or reboot.

Default not, only: clearing the log may lead to loss of changes that were made since the last transaction commit
pls do nothing if you use this command until it is finished. (my mind)

btrfs rescue
to read example here:
https://www.linux.org/docs/man8/btrfs-rescue.html
After rescue use the gui and scrub this partition.

5 Likes

yes, that’s the one that I have:

󰛓 ❯ pacman -Qs nvidia

local/cuda 12.9.1-1
NVIDIA's GPU programming toolkit
local/egl-gbm 1.1.2.1-1
The GBM EGL external platform library
local/egl-wayland 4:1.1.19-1
EGLStream-based Wayland external platform
local/egl-x11 1.0.2-1
NVIDIA XLib and XCB EGL Platform Library
local/lib32-nvidia-utils 575.64.03-1
NVIDIA drivers utilities (32-bit)
local/lib32-opencl-nvidia 575.64.03-1
OpenCL implemention for NVIDIA (32-bit)
local/libnvidia-container 1.17.8-1
NVIDIA container runtime library
local/libva-nvidia-driver 0.0.14-1
VA-API implementation that uses NVDEC as a backend
local/libvdpau 1.5-3
Nvidia VDPAU library
local/libxnvctrl 575.64-1
NVIDIA NV-CONTROL X extension
local/linux-firmware-nvidia 20250627-1
Firmware files for Linux - Firmware for NVIDIA GPUs and SoCs
local/mhwd-nvidia 575.64.03.1-1
NVIDIA pci id list for MHWD
local/mhwd-nvidia-390xx 390.143-1
mhwd-nvidia-390xx PCI ID database
local/mhwd-nvidia-470xx 470.94-1
mhwd-nvidia-470xx PCI ID database
local/nvidia-container-toolkit 1.17.8-1
NVIDIA container toolkit
local/nvidia-open-dkms 575.64.03-1
NVIDIA open kernel modules - module sources
local/nvidia-prime 1.0-5
NVIDIA Prime Render Offload configuration and utilities
local/nvidia-settings 575.64-1
Tool for configuring the NVIDIA graphics driver
local/nvidia-utils 575.64.03-1
NVIDIA drivers utilities
local/opencl-nvidia 575.64.03-1
OpenCL implemention for NVIDIA
local/supergfxctl 5.2.7-2
A utility for Linux graphics switching on Intel/AMD iGPU + nVidia dGPU laptops
local/xf86-video-nouveau 1.0.18-1 (xorg-drivers)
Open Source 3D acceleration driver for nVidia cards

Question

Are there any in here that shouldn’t be? I’m not sure about the xf86-video-nouveau.
And egl-x11, is this needed for xWayland?


But I don’t have any graphics issues anymore, the only weird thing is a black screen with a cursor on it if I use the “Logout” button.
I have to manually restart sddm if I want to use the computer again after a logout.

For this topic though I was more interested about why does btrfs fail this way, is this expected after a reisub restart, and am I doing something wrong when I restore it with the zero-log.

Thanks

i wasn`t finish,sorry.. pls read above.

Oh, ok. Thanks, I didn’t know about this.

Is “Defrag” what I think it is? If it’s defragmentation, this shouldn’t be enabled for a SSD.
Should I disable it or is it something else, not classic defragmentation?

[EDIT]
I found this: Btrfs defrag on SSD (Solved) - #2 by BluishHumility

It says it’s ok to have it on, but I’m not very convinced it’s really ok.

Not defrag


And pls do nothing until it is finished (my mind)

1 Like

Yes, I saw you said scrub.

I was just asking as a curiosity why is Defrag enabled by default, I just saw it while looking for scrub.

If you have very often downloads/delete/copy to the drive,
it make sense that defrag is enabled. (myself 1x in month not more)
But it’s not a must.
I have only excluded my other linux drives.

5 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.