Skip to content

Instantly share code, notes, and snippets.

@bruvv
Created December 6, 2019 18:12
Show Gist options
  • Save bruvv/d9edd4ad6d5548b724d44896abfd9f3f to your computer and use it in GitHub Desktop.
Save bruvv/d9edd4ad6d5548b724d44896abfd9f3f to your computer and use it in GitHub Desktop.
Synology BTRFS repair
btrfs fi show -d
(/dev/mapper/vg1000-lv)
syno_poweroff_task -d
(or: umount /volume1)
(or2: umount /volume1 -f -k)
Check to see if all us unmounted:
df -h
mdadm --stop /dev/vg1000/lv
btrfsck /dev/vg1000/lv
btrfs check --repair /dev/vg1000/lv
btrfs rescue super-recover -v /dev/vg1000/lv
vgchange -ay
e2fsck -nvf -C 0 /dev/vg1000/lv
fsck.ext4 -pvf -C 0 /dev/vg1000/lv
(or: e2fsck -pvf -C 0 /dev/vg1000/lv -C O)
(do not do this: -C fd)
@solidfox
Copy link

syno_poweroff_task -d

is replaced by this in DSM 7:

sudo synostgvolume --unmount -p volume1

But that shuts down ssh so… working on that.

@NewFolk
Copy link

NewFolk commented Oct 28, 2023

Hi everyone!

I find this interesting guide for EXT4.

This part could be interesting for unmount

synosetkeyvalue /etc/synoinfo.conf disable_volumes volume1

@devops365
Copy link

Just as a quick guide for most synology running on 7.x version and with just one volume with brtfs , jsut run the below commands

unmount forcefully the read only partition

umount -f -k /volume1

clear the cache on brtfs so it can then repair

btrfs check --clear-space-cache v2 /dev/mapper/cachedev_0

#run the repair and wait for it to complete
btrfs check --repair /dev/mapper/cachedev_0

reboot the machine and it should be back in 2 minutes.

reboot

after it has rebooted, execute immediately a data scrub on the volume !

@ThoBekMic
Copy link

If btrfs check --repair errors out with "couldn't open RDWR because of unsupported option features", you can try clearing the space cache with btrfs check --clear-space-cache v2 or btrfs check --clear-space-cache v1, and retrying the btrfs check --repair.

YMMV. If you break it, you own the pieces, and by the time you need --repair chances are that it broke beyond repair already :-)

I've been battling this issue for literally weeks. Clearing the space caches and doing a repair fixed my issue with no data loss!

Thank you SO much!

@Invisi
Copy link

Invisi commented May 20, 2024

Greetings from 2024 with a DS1819+ running DSM 7.2.1-69057 Update 3.
Had some corrupted leaves and managed to get btrfs check /dev/mapper/cachedev_0 running by unmounting via synostgvolume --unmount -p /volume1 as mentioned in this xpenology thread and above. It did not shut down SSH for me.

Additionally, I couldn't run btrfs on /dev/vg1000/lv or /dev/md2, only /dev/mapper/cachedev_0 worked properly for unknown reasons. Good luck to you all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment