btrfs: Change default subvol upon creation
The default root subvol comes with its own limitations and it might be better off changing the default subvol upon creation. This should also let us create hidden subvols that may be used for storing snapshots, without exposing them to the end-user.
This commit is contained in:
parent
c11646e08c
commit
7c7e8eb4ce
@ -1,5 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import tempfile
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from util import run
|
from util import run
|
||||||
@ -70,6 +71,19 @@ def be_formatted(dev, fs):
|
|||||||
run(f"mkfs.ext4 -m 0 {device}")
|
run(f"mkfs.ext4 -m 0 {device}")
|
||||||
elif fs == "btrfs":
|
elif fs == "btrfs":
|
||||||
run(f"mkfs.btrfs {device}")
|
run(f"mkfs.btrfs {device}")
|
||||||
|
tmp_mnt = tempfile.mkdtemp(prefix="mnt-")
|
||||||
|
default_subvol = f"{tmp_mnt}/default"
|
||||||
|
run(
|
||||||
|
f"""
|
||||||
|
set -ex
|
||||||
|
mkdir -p {tmp_mnt}
|
||||||
|
mount {device} {tmp_mnt}
|
||||||
|
btrfs subvolume create {default_subvol}
|
||||||
|
btrfs subvolume set-default {default_subvol}
|
||||||
|
umount {tmp_mnt}
|
||||||
|
rmdir {tmp_mnt}
|
||||||
|
"""
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
raise Exception(f"Unsupported fs type: {fs}")
|
raise Exception(f"Unsupported fs type: {fs}")
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user