!oNSIfazDqEcwhcOjSL:matrix.org

disko

355 Members
disko - declarative disk partitioning - https://github.com/nix-community/disko90 Servers

Load older messages


SenderMessageTime
20 Mar 2025
@disco_stick:matrix.orgredesign your logo changed their display name from Ghost of Corporate Future to It's scary when I'm focused.19:08:21
21 Mar 2025
@disco_stick:matrix.orgredesign your logo changed their display name from It's scary when I'm focused to OpenAI brand ChatGPT®.15:23:11
@marcusramberg:matrix.orgMarcus joined the room.20:19:03
22 Mar 2025
@disco_stick:matrix.orgredesign your logo changed their display name from OpenAI brand ChatGPT® to Lizard in a Skin Suit.19:52:47
24 Mar 2025
@nicoty:kde.orgnicoty

Hello. I'm currently working on improving disko's support for bcachefs. So far, I have made a PR to add encryption support. Currently, I am working on adding subvolume support. However, I am having trouble getting this to work. This is the output when I run nix build --no-link .#checks.x86_64-linux.bcachefs-subvolumes --show-trace -L -v.

I suspect that a reason that this could happening might be due the order in which mountpoints are mounted. My theory is that descendant mountpoints (e.g., /ancestor/descendant) could be being mounted before ancestor mountpoints (e.g., /ancestor) have been created/mounted.

Does disko mount filesystems such that ancestor mountpoints are mounted before descendants, or is this behaviour dependent on how the _mount option (made with diskoLib.mkMountOption) for the relevant filesystem type is implemented?

I have tried to debug my implementation using nix build .#checks.x86_64-linux.bcachefs-subvolumes.driverInteractive; result/bin/nixos-test-driver --keep-vm-state, but this doesn't seem to be working properly, as it doesn't show the bcachefs filesystem that should have been created:

$ lsblk -f
NAME FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
fd0                                                                         
sr0                                                                         
vda  ext4   1.0   nixos a7ac900e-9d30-45da-b745-56d7d190aedd  888.3M     2% /
vdb  

In fact, it shows that same lsblk output for various other examples I tried it with (I also tried it with btrfs-subvolumes and simple-efi).

Is there another way I can go about debugging this?

10:47:05
@projectinitiative:matrix.orgprojectinitiativeHey! I was working on adding advanced options for Bcachefs a few months ago. May want to poke around here: https://github.com/nix-community/disko/pull/961 There are some current gotchas that cause some of the issues you are facing. Using the bcachesfs fs formatter is limited which is why I went the route of creating a custom type similar to mdadm and zfs. There are some systemd bugs that prevent the FS ground getting mounted properly/consistently during reboots12:45:51
@sboe:matrix.orgsboe

I am having (skill) issues resizing my .swapvol after I have mistakenly put it to 20M instead of 16G,
I've tried to do

% sudo btrfs filesystem resize "+16G" "/.swapvol"
Resize device id 1 (/dev/mapper/crypted) from 476.42GiB to 492.42GiB
ERROR: unable to resize '/.swapvol': no enough free space

but

% df -h | \grep -E 'Avail|.swapvol'
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/crypted  477G   88G  389G  19% /.swapvol

% sudo btrfs filesystem df /.swapvol
Data, single: total=80.00GiB, used=77.80GiB
System, DUP: total=32.00MiB, used=16.00KiB
Metadata, DUP: total=5.00GiB, used=4.52GiB
GlobalReserve, single: total=243.62MiB, used=0.00B

Is there a way to get Disko to just resize a subvolume?

13:19:31
@nicoty:kde.orgnicoty
In reply to @projectinitiative:matrix.org

Hey! I was working on adding advanced options for Bcachefs a few months ago. May want to poke around here: https://github.com/nix-community/disko/pull/961

There are some current gotchas that cause some of the issues you are facing. Using the bcachesfs fs formatter is limited which is why I went the route of creating a custom type similar to mdadm and zfs.

There are some systemd bugs that prevent the FS ground getting mounted properly/consistently during reboots

Oh cool! Thanks for sharing that, I didn't see it. It's good to see someone else working on this too. Maybe we can work together on this, so that work isn't duplicated?

What's your progress so far and what still needs to be done? I can see that you left a comment last month about trying to get encryption to work. Is that still the case? I believe I've got encryption working in my other PR, so if you like, I can try to adapt it to work with yours and submit a PR against yours?

13:19:56
@sboe:matrix.orgsboe *

I am having (skill) issues resizing my .swapvol after I have mistakenly put it to 20M instead of 16G,
I've tried to do

% sudo btrfs filesystem resize "+16G" "/.swapvol"
Resize device id 1 (/dev/mapper/crypted) from 476.42GiB to 492.42GiB
ERROR: unable to resize '/.swapvol': no enough free space

but

% df -h | \grep -E 'Avail|.swapvol'
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/crypted  477G   88G  389G  19% /.swapvol

% sudo btrfs filesystem df /.swapvol
Data, single: total=80.00GiB, used=77.80GiB
System, DUP: total=32.00MiB, used=16.00KiB
Metadata, DUP: total=5.00GiB, used=4.52GiB
GlobalReserve, single: total=243.62MiB, used=0.00B

Is there a way to get Disko to just resize a subvolume?
I am tired of having my laptop fall over instead of just going slow if I try to compile something big or something else

13:20:56
@sboe:matrix.orgsboe *

I am having (skill) issues resizing my .swapvol after I have mistakenly put it to 20M instead of 16G,
I've tried to do

% sudo btrfs filesystem resize "+16G" "/.swapvol"
Resize device id 1 (/dev/mapper/crypted) from 476.42GiB to 492.42GiB
ERROR: unable to resize '/.swapvol': no enough free space

but

% df -h | \grep -E 'Avail|.swapvol'
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/crypted  477G   88G  389G  19% /.swapvol

% sudo btrfs filesystem df /.swapvol
Data, single: total=80.00GiB, used=77.80GiB
System, DUP: total=32.00MiB, used=16.00KiB
Metadata, DUP: total=5.00GiB, used=4.52GiB
GlobalReserve, single: total=243.62MiB, used=0.00B

Is there a way to get Disko to just resize a subvolume?
I am tired of having my laptop fall over instead of just going slow if I try to compile something big or something else
I also tried to balance my drive

13:22:47
@sboe:matrix.orgsboe

I think I did something stupid now

% sudo btrfs filesystem resize 16G /.swapvol
[sudo] password for sigurdb: 
Resize device id 1 (/dev/mapper/crypted) from 476.42GiB to 16.00GiB

I ctrl+c on the operation, the laptop fan spun up, btop showed the disk usage went bananas, but memory and cpu stayed low

13:27:00
@projectinitiative:matrix.orgprojectinitiativeEncryption support would be awesome. I was planning on attempting that after I got the basic multi-disk support working (same with sub volumes) Totally up to working together. I've been kind of stuck due to the systems bug that doesn't handle dependent drives very well for multi-disk FS. That is causing my VM tests to fail. I did a proof of concept on actual hardware, but it requires a external systemd mount to be created after the system has fully booted so it finds the drives. Not ideal for being declarative. Curious for input or ideas! 13:32:25
@nicoty:kde.orgnicotyAh nice! For now, I'll have a play around with your branch and see if I can get a better understanding of it and hopefully come up with some ideas.13:40:13
@projectinitiative:matrix.orgprojectinitiativeFeel free to ping me if you have questions, I want to see support added one way or another 😎13:46:33
@disco_stick:matrix.orgredesign your logo changed their display name from Lizard in a Skin Suit to I won't be a human battery.16:40:02
@sboe:matrix.orgsboe

I figured this out!

of course disko doesn't set usage limits on the subvolumes

and apparently I can't manually make my own swapfile on btrfs because chattr doesn't work.

But btrfs has a subcommand to make swapfiles!

This fixed my issue!

sudo btrfs filesystem mkswapfile --size 16G /.swapvol/swapfile
18:23:19
@disco_stick:matrix.orgredesign your logo changed their display name from I won't be a human battery to Meat Robot.21:34:28
25 Mar 2025
@sboe:matrix.orgsboeCan disko be used to create new additional btrfs subvolumes? Or do I need to manually create them and add them to my disko config?09:58:36
@sigmasquadron:matrix.orgSigmaSquadron The latter, unfortunately. Disko can only alter your disks if you run disko format, which will wipe them as well. 10:05:28
@sboe:matrix.orgsboe

Thank you, is there any consideration I have to take when making subvolumes? I'd like it to be consistent with how disko makes it

                  "/snapshots" = {
                    mountpoint = "/snapshots";
                    mountOptions = [ "compress=zstd" "noatime" ];
                  };

When I sudo btrfs subvolume list /home -t I notice that there are no slashes in the path name

ID	gen	top level	path	
--	---	---------	----	
256	87522	5		home
257	87348	5		nix
258	87522	5		persist
259	87283	5		swap
10:08:55
@marie:marie.cologneMarie are you sure? It doesn't do that for zfs from my experience 11:27:44
@sigmasquadron:matrix.orgSigmaSquadron I wiped my disk entire once when I tried to remove a subvolume. I assume the same happens when you add one. 11:28:39
@sigmasquadron:matrix.orgSigmaSquadron * I wiped my disk entire once when I tried to remove a subvolume with disko. I assume the same happens when you add one. 11:28:51
@sigmasquadron:matrix.orgSigmaSquadronbut hey, only one way to find out.11:29:07
@sboe:matrix.orgsboeThanks, don't want to try this, the explanation of format isn't very clear on if it will destroy anything12:40:23
@marie:marie.cologneMarie changed their display name from Marie to Marie Ramlow.17:42:21
@marie:marie.cologneMarie changed their display name from Marie Ramlow to Marie.17:44:49
26 Mar 2025
@phaer:matrix.orgphaerWas that recently or a while ago?09:27:52
@phaer:matrix.orgphaer I wouldn't recommend you to try without a backup :)
That being said, it shouldn't nowadays. You can also proof-read the generated script by building nix build .#nixosConfigurations.<host>.config.system.build.formatScript and reading the result
09:32:15
@sigmasquadron:matrix.orgSigmaSquadron
In reply to @phaer:matrix.org
Was that recently or a while ago?
three months ago
10:11:48

Show newer messages


Back to Room ListRoom Version: 10