Update fail: Root file system not btrfs

Help! My system is not updating. I ran
sudo pacman -Syyu after the GUI update failed.

I got to Making BTRFS snapshot and got this error:

Root filesystem is not btrfs! exiting…

Errors occurred, no packages were upgraded.

I recently changed my Snapshot partion on a USB external hard drive to btrfs and even created a snapshot on it with no problems.

My root file system is ext4 and always has been.

What is going on?

Hello @deroberts1 :wink:

I assume you use timeshift-autosnap to make backups before upgrades and that result in this error.

As the error message states, the root file system must be btrfs to create a btrfs snapshot with timeshift, since this is a btrfs function. It is not enough that the target backup drive has a btrfs file system.

You must use rsync in timeshift in your scenario.

Ok, I told Timeshift to make its snapshot on a ext4 partition on my internal HD.

I used rsync. And it made the snapshot:
“RSYNC Snapshot saved successfully (86s)”

THEN: It says 2/6 Making BTRFS snapshot…
followed by the same error message:
Root filesystem is not btrfs! exiting…

BUT IT JUST MADE A SNAPSHOT!

If you used the terminal to trigger the backup, then post the full output. Anything outside of timeshift must trigger this event…

udo pacman -Syyu
:: Synchronizing package databases…
core 167.5 KiB 356 KiB/s 00:00 [##] 100%
extra 1878.8 KiB 775 KiB/s 00:02 [##] 100%
community 6.9 MiB 785 KiB/s 00:09 [##] 100%
multilib 179.6 KiB 561 KiB/s 00:00 [##] 100%
:: Starting full system upgrade…
warning: ignoring package replacement (linux510-rt-5.10.90_rt60-1 => linux515-rt-5.15.27_rt35-1)
warning: linux515-rt: ignoring package upgrade (5.15.13_rt26-1 => 5.15.27_rt35-1)
resolving dependencies…
looking for conflicting packages…

Packages (295) abseil-cpp-20211102.0-2
alsa-card-profiles-1:0.3.48-1 ark-21.12.3-1
asciidoc-10.1.4-1 aubio-0.4.9-13
babl-0.1.90-1 baloo-widgets-21.12.3-1
bison-3.8.2-3 bluedevil-1:5.24.3-1
breeze-5.24.3-1 breeze-gtk-5.24.3-1
breezy-3.2.1-2
ca-certificates-mozilla-3.76-1
cantata-2.5.0-1 cmake-3.22.3-1
curl-7.82.0-1 dbus-1.14.0-1
dhclient-4.4.3-1 dolphin-21.12.3-1
dolphin-plugins-21.12.3-1
downgrade-11.1.0-1 drkonqi-5.24.3-1
expat-2.4.7-1 fakeroot-1.28-1
faudio-22.03-1 ffmpeg-2:5.0-5
ffmpegthumbs-21.12.3-1 filelight-21.12.3-1
firefox-98.0.1-1 flatpak-1:1.12.6-1
fmt-8.1.1-2 fwupd-1.7.6-1 gcc-11.2.0-4
gcc-libs-11.2.0-4 gegl-0.4.36-1
geoclue-2.6.0-2 gettext-0.21-2
glib2-2.70.4-2 glib2-docs-2.70.4-2
glslang-11.8.0-2 go-2:1.17.8-1
gpgme-1.17.1-1 gst-libav-1.20.0-3
gst-plugins-bad-1.20.0-3
gst-plugins-bad-libs-1.20.0-3
gst-plugins-base-1.20.0-3
gst-plugins-base-libs-1.20.0-3
gst-plugins-good-1.20.0-3
gst-plugins-ugly-1.20.0-3
gstreamer-1.20.0-3
gtk-update-icon-cache-1:4.6.1-3
gtk3-1:3.24.33-1 gwenview-21.12.3-1
harfbuzz-4.0.1-1 harfbuzz-icu-4.0.1-1
hwdata-0.357-1 imagemagick-7.1.0.27-1
k3b-1:21.12.3-2
kaccounts-integration-21.12.3-1
kaccounts-providers-21.12.3-1
kactivitymanagerd-5.24.3-1 kamera-21.12.3-1
kate-21.12.3-1 kcalc-21.12.3-1
kde-cli-tools-5.24.3-1
kde-gtk-config-5.24.3-1
kdeconnect-21.12.3-1 kdecoration-5.24.3-1
kdegraphics-thumbnailers-21.12.3-1
kdenetwork-filesharing-21.12.3-1
kdeplasma-addons-5.24.3-1 kdialog-21.12.3-1
keditbookmarks-21.12.3-1 kfind-21.12.3-1
kgamma5-5.24.3-1 kget-21.12.3-2
khelpcenter-21.12.3-1 khotkeys-5.24.3-1
kinfocenter-5.24.3-1 kio-extras-21.12.3-1
kmenuedit-5.24.3-1 konsole-21.12.3-1
kpat-21.12.3-1 kpmcore-21.12.3-1
kscreenlocker-5.24.3-1 ksshaskpass-5.24.3-1
ksystemlog-21.12.3-1 ksystemstats-5.24.3-1
kwallet-pam-5.24.3-1
kwalletmanager-21.12.3-1
kwayland-integration-5.24.3-1
kwayland-server-5.24.3-1 kwin-5.24.3-1
kwrite-21.12.3-1 kwrited-5.24.3-1
layer-shell-qt-5.24.3-1 lensfun-1:0.3.3-1
lib32-at-spi2-atk-2.38.0-2
lib32-brotli-1.0.9-4 lib32-curl-7.82.0-1
lib32-db-5.3.28-5 lib32-dbus-1.14.0-1
lib32-dconf-0.40.0-2 lib32-expat-2.4.7-1
lib32-faudio-22.03-1
lib32-gcc-libs-11.2.0-4
lib32-glib2-2.70.4-2 lib32-harfbuzz-4.0.1-1
lib32-libgudev-237-2 lib32-libgusb-0.3.10-2
lib32-libjpeg-turbo-2.1.3-1
lib32-libproxy-0.4.17-2
lib32-libpsl-0.21.1-2
lib32-librsvg-2:2.52.7-1
lib32-libtirpc-1.3.2-2
lib32-libva-mesa-driver-21.3.7-2
lib32-libvdpau-1.4-2 lib32-mesa-21.3.7-2
lib32-mesa-vdpau-21.3.7-2
lib32-orc-0.4.32-2 lib32-pango-1:1.50.5-1
lib32-polkit-0.120-5 lib32-rest-0.8.1-4
lib32-sdl2-2.0.20-2 lib32-sqlite-3.38.0-1
lib32-systemd-250.4-1
lib32-vulkan-intel-21.3.7-2
lib32-vulkan-mesa-layers-21.3.7-2
lib32-vulkan-radeon-21.3.7-2
libass-0.15.2-2 libbluray-1.3.0-2
libebml-1.4.2-2 libffado-2.4.5-1
libgit2-1:1.4.2-1 libgphoto2-2.5.29-1
libgusb-0.3.10-2 libheif-1.12.0-3
libimagequant-2.17.0-3 libinih-53-2
libisl-0.24-4 libjpeg-turbo-2.1.3-1
libkcddb-21.12.3-1 libkdcraw-21.12.3-1
libkdegames-21.12.3-1 libkexiv2-21.12.3-1
libkipi-21.12.3-1 libkscreen-5.24.3-1
libksysguard-5.24.3-1 libktorrent-21.12.3-1
liblouis-3.21.0-1 libmatroska-1.6.3-2
libmfx-22.1.0-1 libnfs-5.0.1-2
libnm-1.36.2-1 libpamac-11.2.0-13
libpamac-flatpak-plugin-11.2.0-13
libplacebo-4.192.1-2 librsvg-2:2.52.7-1
libunrar-1:6.1.6-1 libva-2.13.0-2
libva-intel-driver-2.4.1-2
libva-mesa-driver-21.3.7-2
libva-vdpau-driver-0.7.4-6 libvdpau-1.4-2
libvorbis-1.3.7-3 libvpx-1.11.0-2
libxmlb-0.3.7-1
linux-firmware-20220309.cd01f85-1
linux-firmware-whence-20220309.cd01f85-1
luajit-2.1.0.beta3.r391.g8b8304f1-1
manjaro-release-21.2.5-1
manjaro-settings-manager-0.5.7-2
manjaro-settings-manager-kcm-0.5.7-2
manjaro-settings-manager-knotifier-0.5.7-2
mesa-21.3.7-2 mesa-vdpau-21.3.7-2
milou-5.24.3-1 mpv-1:0.34.1-4
mtools-1:4.0.38-1 networkmanager-1.36.2-1
networkmanager-openconnect-1.2.8-1
networkmanager-openvpn-1.8.18-1
networkmanager-pptp-1.2.10-1
networkmanager-vpnc-1.2.8-1 nss-3.76-1
okular-21.12.3-1 oniguruma-6.9.7.1-2
opera-84.0.4316.31-1
opera-ffmpeg-codecs-98.0.4758.109-1
ostree-2022.2-1 oxygen-5.24.3-1
pacman-6.0.1-4 pango-1:1.50.5-1
partitionmanager-21.12.3-1
perl-alien-build-2.47-1
perl-data-dump-1.25-2 pipewire-1:0.3.48-1
plasma-browser-integration-5.24.3-1
plasma-desktop-5.24.3-1
plasma-integration-5.24.3-1
plasma-nm-5.24.3-1 plasma-pa-5.24.3-1
plasma-thunderbolt-5.24.3-1
plasma-vault-5.24.3-1
plasma-wayland-session-5.24.3-1
plasma-workspace-5.24.3-1
plasma-workspace-wallpapers-5.24.3-1
polkit-0.120-5 polkit-kde-agent-5.24.3-1
poppler-22.03.0-1 poppler-glib-22.03.0-1
poppler-qt5-22.03.0-1
print-manager-21.12.3-1 pyside2-5.15.3-1
pyside6-6.2.3-3 python-asn1crypto-1.5.0-1
python-click-8.0.4-1
python-dulwich-0.20.33-1
python-fonttools-4.30.0-1
python-manjaro-sdk-0.7-1
python-more-itertools-8.12.0-1
python-numpy-1.22.3-1
python-pycurl-7.45.0-1
python-pyparsing-3.0.1-1
python-zeroconf-0.38.4-1 qgpgme-1.17.1-1
qpdf-10.6.2-3 qt5-base-5.15.3+kde+r133-1
qt5-declarative-5.15.3+kde+r20-1
qt5-graphicaleffects-5.15.3+kde+r0-1
qt5-imageformats-5.15.3+kde+r0-1
qt5-location-5.15.3+kde+r0-1
qt5-multimedia-5.15.3+kde+r0-1
qt5-quickcontrols-5.15.3+kde+r0-1
qt5-quickcontrols2-5.15.3+kde+r4-1
qt5-script-5.15.8-4
qt5-sensors-5.15.3+kde+r0-1
qt5-speech-5.15.3+kde+r1-1
qt5-svg-5.15.3+kde+r12-1
qt5-tools-5.15.3+kde+r1-1
qt5-translations-5.15.3+kde+r2-1
qt5-virtualkeyboard-5.15.3+kde+r3-1
qt5-wayland-5.15.3+kde+r40-1
qt5-webchannel-5.15.3+kde+r3-1
qt5-webengine-5.15.8-10
qt5-webkit-5.212.0alpha4-12
qt5-websockets-5.15.3+kde+r3-1
qt5-x11extras-5.15.3+kde+r0-1
qt5-xmlpatterns-5.15.3+kde+r0-1
rtmpdump-1:2.4.r99.f1b83c1-2
sddm-kcm-5.24.3-1 seatd-0.6.4-1
shaderc-2022.1-2 shiboken6-6.2.3-3
signon-kwallet-extension-21.12.3-1
signond-8.61-1 smartmontools-7.3-1
smplayer-22.2.0-1 sndio-1.8.1-2
soundtouch-2.3.1-2 spectacle-21.12.3-1
spirv-tools-2022.1-1 sudo-1.9.10-1
svt-av1-0.9.0-2 svt-hevc-1.5.1-2
systemd-250.4-1 systemd-libs-250.4-1
systemd-sysvcompat-250.4-1
systemsettings-5.24.3-1
thunderbird-91.7.0-1
ttf-ubuntu-font-family-0.83-8
tuxedo-control-center-1.1.2-1
udiskie-2.4.2-1 unrar-1:6.1.6-1
upower-0.99.17-1 usb_modeswitch-2.6.1-3
vulkan-headers-1:1.3.207-1
vulkan-icd-loader-1.3.207-1
vulkan-intel-21.3.7-2
vulkan-mesa-layers-21.3.7-2
vulkan-radeon-21.3.7-2
vulkan-tools-1.2.203-2 waylandpp-0.2.9-2
web-installer-url-handler-2.3-1 wine-7.4-1
wireless-regdb-2022.02.18-1
wlroots-0.15.1-3
x264-3:0.164.r3081.19856cc-2 x265-3.5-3
xdg-desktop-portal-kde-5.24.3-1 xterm-372-1
xxhash-0.8.1-2 yakuake-21.12.3-1
yay-11.1.2-1 zimg-3.0.3-2

Total Installed Size: 4707.24 MiB
Net Upgrade Size: 26.08 MiB

:: Proceed with installation? [Y/n] Y
(295/295) checking keys in keyring [##] 100%
(295/295) checking package integrity [##] 100%
(295/295) loading package files [##] 100%
(295/295) checking for file conflicts [##] 100%
(295/295) checking available disk space [##] 100%
:: Running pre-transaction hooks…
(1/6) Creating Timeshift snapshot before upgrade…

/dev/sdb5 is mounted at: /run/timeshift/backup, options: rw,relatime


Creating new snapshot…(RSYNC)
Saving to device: /dev/sdb5, mounted at path: /run/timeshift/backup
Synching files with rsync…
1.53% complete (00:56:57 remaining)
12.61% complete (00:12:21 remaining)
13.22% complete (00:17:34 remaining)
14.77% complete (00:20:36 remaining)
15.87% complete (00:23:43 remaining)
22.35% complete (00:18:39 remaining)
31.80% complete (00:13:26 remaining)
32.78% complete (00:14:42 remaining)
38.39% complete (00:13:03 remaining)
44.03% complete (00:11:26 remaining)
60.99% complete (00:06:20 remaining)
73.05% complete (00:03:58 remaining)
74.98% complete (00:03:53 remaining)
81.66% complete (00:02:49 remaining)
85.39% complete (00:02:18 remaining)
91.25% complete (00:01:22 remaining)
98.55% complete (00:00:13 remaining)
99.79% complete (00:00:02 remaining)
Created control file: /run/timeshift/backup/timeshift/snapshots/2022-03-15_14-53-13/info.json
RSYNC Snapshot saved successfully (974s)
Tagged snapshot ‘2022-03-15_14-53-13’: ondemand

(2/6) Making BTRFS snapshot…
Root filesystem is not btrfs! exiting…
error: command failed to execute correctly
error: failed to commit transaction (failed to run transaction hooks)
Errors occurred, no packages were upgraded.

The thing is that this time I reformatted the external USB drive partition back to ext4 and used rsync. It created the same error:

(2/6) Making BTRFS snapshot…
Root filesystem is not btrfs! exiting…

I think I see the problem: btrfs-autosnap is installed and tries to run after the normal autosnap. But it will not uninstall.

I try running: sudo pacman -Rdd -n btrfs-autosnap

But it does not remove because the btrfs-autosnapp script wants to run first.

SOLVED:
I simply renamed this file:

/usr/share/libalpm/hooks/01-btrfs-autosnap.hook.

After that, the update went smoothly.

Not pretty, but it worked.