You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When Verifying that the path is either a valid btrfs mountpoint or a subvolume
# Verify that the path is either a valid btrfs mountpoint
mount -t btrfs | cut -d " " -f 3 | grep "^${mp}$" > /dev/null
if [ $? -ne 0 ] ; then
# or a valid snapshot matching mp
btrfs subvolume show $mp | grep "${mp}$" > /dev/null
if [ $? -ne 0 ] ; then
log.error "${mp} is not a btrfs mountpoint (or old version of btrfs-tools, try > 0.19)"
exit 1;
fi
fi
with btrfs-progs version 4.4: btrfs subvolume show /var/fileserver/data/active
the output would look like this:
/var/fileserver/data/active
Name: active
UUID: 84638c7b-742f-3c4a-a6ba-6d64b82cba71
Parent UUID: -
Received UUID: -
Creation time: 2018-02-10 15:02:47 +0100
Subvolume ID: 260
Generation: 233633
Gen at creation: 25
Parent ID: 5
Top level ID: 5
Flags: -
Snapshot(s):
with btrfs-progs version 5.4.1:
the same command btrfs subvolume show /var/fileserver/data/active output:
data/active
Name: active
UUID: 57e8d80f-99b6-394d-9b12-bc766e0a249a
Parent UUID: -
Received UUID: -
Creation time: 2022-02-17 13:54:53 +0000
Subvolume ID: 258
Generation: 308
Gen at creation: 8
Parent ID: 5
Top level ID: 5
Flags: -
Snapshot(s):
the "full" path is not present anymore /var/fileserver/data/active != data/active
the command btrfs subvolume show $mp | grep "${mp}$" will always retrun exit code 1 leading the script to stop.
A solution is to adapt the script like this, in order to grep the correct subvolume name :
# Verify that the path is either a valid btrfs mountpoint
mount -t btrfs | cut -d " " -f 3 | grep "^${mp}$" > /dev/null
if [ $? -ne 0 ] ; then
# or a valid snapshot matching mp
# Get the path of the root volume as a prefix
rv=$(mount -t btrfs | cut -d " " -f 3)
# Remove the prefix with the / from the full path
vn=${mp#"$rv/"}
btrfs subvolume show $mp | grep "$vn" > /dev/null
if [ $? -ne 0 ] ; then
log.error "${mp} is not a btrfs mountpoint (or old version of btrfs-tools, try > 0.19)"
exit 1;
fi
fi
Hope it helps someone....
The text was updated successfully, but these errors were encountered:
btrfs-snap version: 1.7.3
btrfs-progs version : 5.4.1
root btrfs volume : /var/fileserver
btrfs subvolume : /var/fileserver/data/active
When Verifying that the path is either a valid btrfs mountpoint or a subvolume
with btrfs-progs version 4.4:
btrfs subvolume show /var/fileserver/data/active
the output would look like this:
with btrfs-progs version 5.4.1:
the same command
btrfs subvolume show /var/fileserver/data/active
output:the "full" path is not present anymore /var/fileserver/data/active != data/active
the command btrfs subvolume show$mp | grep "$ {mp}$" will always retrun exit code 1 leading the script to stop.
A solution is to adapt the script like this, in order to grep the correct subvolume name :
Hope it helps someone....
The text was updated successfully, but these errors were encountered: