summaryrefslogtreecommitdiff
path: root/backend/modules/partitions
diff options
context:
space:
mode:
Diffstat (limited to 'backend/modules/partitions')
-rw-r--r--backend/modules/partitions9
1 files changed, 6 insertions, 3 deletions
diff --git a/backend/modules/partitions b/backend/modules/partitions
index 52c8e73..4c033c7 100644
--- a/backend/modules/partitions
+++ b/backend/modules/partitions
@@ -7,7 +7,10 @@
# /dev/sda
function strip_live_media()
{
- grep -ve '^$' $(awk '{if(($2=="/live/image" || $2=="/lib/live/mount/medium") && $3=="iso9660"){gsub(/[0-9]*$/,"",$1); print "-e ^"$1; exit 0;}}' < /proc/mounts)
+ VENTOY_DEV=$(dmsetup deps ventoy -o devname 2>/dev/null|awk -F['()'] '{print "/dev/"$2}'|sed 's/[0-9]\+//')
+ VENTOY_GREP=
+ [ "$VENTOY_DEV" ] && VENTOY_GREP="-e $VENTOY_DEV"
+ grep -ve '^$' $(awk '{if(($2=="/live/image" || $2=="/lib/live/mount/medium" || $2=="/run/live/medium") && $3=="iso9660"){gsub(/[0-9]*$/,"",$1); print "-e ^"$1; exit 0;}}' < /proc/mounts) $VENTOY_GREP
}
# Synopsis: list_all_disks
@@ -19,7 +22,7 @@ function strip_live_media()
function list_all_disks()
{
(
- awk -vli="$(awk '{if($2=="sd"||$2=="md"||$2=="mmc"||$2=="nvme") print $1;}' /proc/devices)" 'BEGIN{m=split(li,list," ")}{for(i=1;i<=m;i++) if(($1==list[i]&&$2%16==0)||($1==list[i]&&$2==126||($1==list[i]+8&&$2%16==0))) print "/dev/"$4;}' /proc/partitions
+ awk -vli="$(awk '{if($2=="sd"||$2=="md"||$2=="mmc"||$2=="blkext") print $1;}' /proc/devices)" 'BEGIN{m=split(li,list," ")}{for(i=1;i<=m;i++) if(($1==list[i]&&$2%16==0)||($1==list[i]&&$1==9)) print "/dev/"$4;}' /proc/partitions
) | strip_live_media
}
@@ -63,7 +66,7 @@ function list_all_partitions()
# /dev/mapper/cryptoroot
function list_dm_partitions()
{
- ls /dev/mapper/* 2>/dev/null | fmt -w1 | grep -v "/control$"
+ ls /dev/mapper/* 2>/dev/null | fmt -w1 | grep -v "/control$" -e "/ventoy$" -e "/vtoy_persistent"
}
# Synopsis: (e.g.) list_all_partitions | partitions_usage_details