История изменений
Исправление Pinkbyte, (текущая версия) :
Я немного не о том.
Вот смотри, в btrfs qgroup show у нас есть id subvolume-а, к которому привязана группа квоты. UUID-ов нет.
В btrfs subvolume list уже можно увидеть и uuid и parent uuid, и собственно id самого subvolume(если ключи нужные расчехлить). Там уже можно понять где снапшоты, а где нет(и всё равно мне подход с ZFS со статическим именованием снапшотов через @ импонирует больше - ибо он проще).
А теперь на сладкое - как получить аналог вывода df для subvolume-ом btrfs встроенными командами...
Нуууу... как-то так:
#!/bin/bash
# Show mountpoint for all btrfs quota groups
IFS=""
while read LINE; do
ID=$(echo ${LINE} | awk '{ print $1;'})
SUBVOLID="${ID/'0/'/}"
echo -ne ${LINE}
# Add header
if [[ "${ID}" = "qgroupid" ]]; then
echo -ne "\t mountpoint"
fi
# If qgroupid is level-0(default) for subvolume...
if [[ ! "${SUBVOLID}" = "${ID}" ]]; then
mount | awk /subvolid="${SUBVOLID}"/'{ printf "\t %s",$3; }'
fi
echo
done < <(btrfs qgroup show -r -e -p /)
TL;DR - в отличие от ZFS(с командой zfs list, ибо df там тоже выдает дичь как и в btrfs - судя по всем для всех CoW FS это норма), заскриптоваться пришлось побольше
Исходная версия Pinkbyte, :
Я немного не о том.
Вот смотри, в btrfs qgroup show у нас есть id subvolume-а, к которому привязана группа квоты. UUID-ов нет.
В btrfs subvolume list уже можно увидеть и uuid и parent uuid, и собственно id самого subvolume(если ключи нужные расчехлить). Там уже можно понять где снапшоты, а где нет(и всё равно мне подход с ZFS со статическим именованием снапшотов через @ импонирует больше - ибо он проще).
А теперь на сладкое - как получить аналог вывода df для subvolume-ом btrfs встроенными командами...
Нуууу... как-то так:
#!/bin/bash
# Show mountpoint for all btrfs quota groups
IFS=""
while read LINE; do
ID=$(echo ${LINE} | awk '{ print $1;'})
SUBVOLID="${ID/'0/'/}"
echo -ne ${LINE}
# Add header
if [[ "${ID}" = "qgroupid" ]]; then
echo -ne "\t mountpoint"
fi
# If qgroupid is level-0(default) for subvolume...
if [[ ! "${SUBVOLID}" = "${ID}" ]]; then
mount | awk /subvolid="${SUBVOLID}"/'{ printf "\t %s",$3; }'
fi
echo
done < <(btrfs qgroup show -r -e -p /)
TL;DR - в отличие от ZFS, заскриптоваться пришлось побольше