Closed a1466d44-d3dc-4c0b-90c7-315b088731d7 closed 4 months ago
i wonder if this is related to #15? i'll look into it in the near term. thanks for the report!
hi @a1466d44-d3dc-4c0b-90c7-315b088731d7 ! can you please share the output of sudo subvolume list /
and the contents of /etc/fstab
to help me debug this? thx!
Of course /but I think you meant sudo btrfs subvolume list /
because:
$ sudo subvolume list /
sudo: subvolume: command not found
;)
$ sudo btrfs subvolume list /
ERROR: not a btrfs filesystem: /
ERROR: can't access '/'
In my case the Voulme is mounted under /srv/data
$ sudo btrfs subvolume list /srv/data
ID 258 gen 38 top level 5 path backups
ID 259 gen 35 top level 5 path db
ID 260 gen 37 top level 5 path webroot
ID 267 gen 50 top level 5 path .btrfs/btrfs-auto-snap_daily_2023-02-07-1807
and
$ cat /etc/fstab
proc /proc proc defaults 0 0
PARTUUID=9ae39d54-01 /boot vfat defaults 0 2
PARTUUID=9ae39d54-02 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
tmpfs /tmp tmpfs defaults,noatime,nosuid,nodev 0 0
tmpfs /var/tmp tmpfs defaults,noatime,nosuid,nodev 0 0
UUID="1d73c848-3197-4577-bb13-02426ef08624" /srv/data btrfs auto,nofail,noatime,rw,user 0 0
Anything else I can help you with?
For me the fix was on line 446, by just adding a trailing slash But I'm not sure if thats korrekt?
My proposal (without any further knowledge of other usecases or propper usage of the variables) would be:
On Line 446 add the check if the variable mp
contains a trailing slash and append one if it doesn't
[ "${mp}" != */ ]] && mp="${mp}/"
abs_path="$(echo "${subvol}" | sed -r "s!^${mp_subvol}!${mp}!")"
Sorry for the thinko in my command :)
I'll test to make sure that tweak doesn't impact any of the other ways people do their mounts and let you know when it's committed for testing.
Adding the code there seems somewhat safe to me, especially as line 447 removes redundant slashes already. Other places of the code remove slashes as well, like in the following example:
snaps_dir="${i%/}/${DEF_SNAPS_DIR}"
So it might even make sense to always end given paths with a slash?
ret_val[paths]="$*"
Looking at my test-VM I seem to have mostly tested with //
, so it might simply be safer to add only the concrete change were things break right now.
@a1466d44-d3dc-4c0b-90c7-315b088731d7 can you test #18 pls?
Unfortunately, my testsystem is currently not working... I hope to get a replacement in the next week or so. Please stand by (but as I have read it, it looks ok)
looking for feedback on #18 still. any chance @a1466d44-d3dc-4c0b-90c7-315b088731d7 or @ams-tschoening can look at it by halloween?
looking for feedback on #18 still. any chance @a1466d44-d3dc-4c0b-90c7-315b088731d7 or @ams-tschoening can look at it by halloween?
I got my hardware replacement, but had no time to test it yet. Unfortunately I can not say more about it than sorry... (children currently consume more an more of my previous spare time :)
looking for feedback on #18 still. any chance @a1466d44-d3dc-4c0b-90c7-315b088731d7 or @ams-tschoening can look at it by halloween?
I got my hardware replacement, but had no time to test it yet. Unfortunately I can not say more about it than sorry... (children currently consume more an more of my previous spare time :)
no worries @a1466d44-d3dc-4c0b-90c7-315b088731d7 . i totally understand.
Issue with variable definition They are missing a / in between mount path and subvolume name
The error seems to be within the sed statement on line 446 (but I'am not 100% sure)
The issue of my error message
ERROR: cannot find real path for '/srv/databackups': No such file or directory
Definetly comes from a missing / (slash) between the mount path and the subvolume (backup in this example)abs_path="$(echo "${subvol}" | sed -r "s!^${mp_subvol}!${mp}!")"
Software used