Hello! My disk space was out of space left, so I decided to remove some snapper snapshot. snapper list listed over 360 snapshots. I removed them, and freed 50Gb of space. One of these hasn’t been deleted successfully:

Cannot delete snapshot 166 since it is the next to be mounted snapshot.

it’s description is writable copy of #156. How can I remove it? should I do it using btrfs subvolume delete?

here’s the output of sudo btrfs subvolume list -t /:

ID      gen     top level       path
--      ---     ---------       ----
256     178487  5               timeshift-btrfs/snapshots/2023-09-18_18-25-33/@
257     341688  5               @home
258     341680  5               @cache
259     341688  5               @log
260     26      256             timeshift-btrfs/snapshots/2023-09-18_18-25-33/@/var/lib/portables
261     27      256             timeshift-btrfs/snapshots/2023-09-18_18-25-33/@/var/lib/machines
708     341688  5               @
710     341680  708             .snapshots
2781    178991  5               timeshift-btrfs/snapshots/2024-05-07_12-20-43/@
2968    326034  710             .snapshots/166/snapshot
2969    341679  710             .snapshots/167/snapshot

all those timeshift subvolumes are there because before snapper, I used to use timeshift. I tried to remove them:

sudo btrfs subvolume delete timeshift-btrfs/snapshots/2023-09-18_18-25-33/@/var/lib/machines    
ERROR: Could not statfs: No such file or directory

If I understand correctly, it means that I should give an actual “system” path instead of the path in the table, but I don’t understand which path

thanks in advance to everyone!

  • mrvictory1@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    4 months ago

    sudo mount -o subvolid=5 /dev/<your disk here> /mnt This will give you full access to the filesystem, then you can identify the full path of snapshots and delete them ie. sudo btrfs subvolume delete /mnt/... In openSUSE, snapper works by booting to a snapshot. “mount” command will reveal which subvolume you are booted from.

    • tubbadu@lemmy.kde.socialOP
      link
      fedilink
      arrow-up
      1
      ·
      4 months ago

      Thanks for the answer! I mounted it and removed all the timeshift-btrfs stuff. now, after a reboot, sudo btrfs subvolume list -t / does not show timeshift stuffs anymore, but if I mount again sudo mount -o subvolid=5 /dev/nvme0n1p2 /mnt and ls /mnt/ I get:

      @  @cache  @home  @log  timeshift-btrfs
      

      how can I remove timeshift-btrfs from there? can i just rm -rf it?

      In openSUSE

      (sorry I forgot to mention, I’m running EndeavourOS)

        • tubbadu@lemmy.kde.socialOP
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          4 months ago

          It worked, thank you very much for your help man! Now the only remaining problem is the snapshot 166, that snapper does not let me remove. I assume I should remove in a similar way as timeshift:

          $ sudo btrfs subvolume delete /.snapshots/166/snapshot
          WARNING: not deleting default subvolume id 2968 '/.snapshots/166/snapshot'
          

          I think there’s something I’m missing about how these snapshot works

          • mrvictory1@lemmy.world
            link
            fedilink
            arrow-up
            0
            ·
            4 months ago

            The snapshot may be mounted to root. In the output of “mount” command, if there isn’t a subvolid= or subvol= parameter for root mount, snapshot 166 is currently mounted to root.

  • just_another_person@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    4 months ago

    I would run a check, then balance, then see if it’s still throwing errors. It sounds like something has caught, but if there’s an errant snapshot I wouldn’t worry about it.