unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* How do I specify a btrfs subvolume?
@ 2021-03-15  1:33 Nathan Dehnel
  2021-03-17  1:44 ` raingloom
  0 siblings, 1 reply; 3+ messages in thread
From: Nathan Dehnel @ 2021-03-15  1:33 UTC (permalink / raw)
  To: help-guix

This is extremely confusing:
https://guix.gnu.org/manual/en/html_node/Btrfs-file-system.html

I made my best attempt at creating and mounting a subvolume at
/media/offsite-backup:

  (file-systems
    (cons* (file-system
             (mount-point "/")
             (device
               (uuid "b2e0f449-0583-46fd-8c23-ad2e6cd661a1"
                     'btrfs))
             (type "btrfs"))
           (file-system
             (mount-point "/media/offsite-backup")
             (device
               (uuid "b2e0f449-0583-46fd-8c23-ad2e6cd661a1"
                     'btrfs))
             (type "btrfs")
             (options "subvol=offsite-backup,compress=zlib:9"))

It gives this error:

building /gnu/store/mrs1qbg619qk4n2lv8k377arclgzwqjq-install-bootloader.scm.drv...
guix system: bootloader successfully installed on '/dev/sda'
guix system: warning: exception caught while executing 'start' on
service 'file-system-/media/offsite-backup':
In procedure mount: mount "/dev/sda2" on "///media/offsite-backup": No
such file or directory
guix system: warning: some services could not be upgraded

But /media/offsite-backup exists.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: How do I specify a btrfs subvolume?
  2021-03-15  1:33 How do I specify a btrfs subvolume? Nathan Dehnel
@ 2021-03-17  1:44 ` raingloom
  2021-03-18  2:48   ` Maxim Cournoyer
  0 siblings, 1 reply; 3+ messages in thread
From: raingloom @ 2021-03-17  1:44 UTC (permalink / raw)
  To: help-guix

On Sun, 14 Mar 2021 20:33:06 -0500
Nathan Dehnel <ncdehnel@gmail.com> wrote:

> This is extremely confusing:
> https://guix.gnu.org/manual/en/html_node/Btrfs-file-system.html
> 
> I made my best attempt at creating and mounting a subvolume at
> /media/offsite-backup:
> 
>   (file-systems
>     (cons* (file-system
>              (mount-point "/")
>              (device
>                (uuid "b2e0f449-0583-46fd-8c23-ad2e6cd661a1"
>                      'btrfs))
>              (type "btrfs"))
>            (file-system
>              (mount-point "/media/offsite-backup")
>              (device
>                (uuid "b2e0f449-0583-46fd-8c23-ad2e6cd661a1"
>                      'btrfs))
>              (type "btrfs")
>              (options "subvol=offsite-backup,compress=zlib:9"))
> 
> It gives this error:
> 
> building
> /gnu/store/mrs1qbg619qk4n2lv8k377arclgzwqjq-install-bootloader.scm.drv...
> guix system: bootloader successfully installed on '/dev/sda' guix
> system: warning: exception caught while executing 'start' on service
> 'file-system-/media/offsite-backup': In procedure mount: mount
> "/dev/sda2" on "///media/offsite-backup": No such file or directory
> guix system: warning: some services could not be upgraded
> 
> But /media/offsite-backup exists.
> 

I'm looking at
https://wiki.archlinux.org/index.php/Btrfs#Mounting_subvolumes
and it seems like you either need a numberic ID or an absolute path,
not a relative one.
On my machine `findmnt` returns `subvol=/`.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: How do I specify a btrfs subvolume?
  2021-03-17  1:44 ` raingloom
@ 2021-03-18  2:48   ` Maxim Cournoyer
  0 siblings, 0 replies; 3+ messages in thread
From: Maxim Cournoyer @ 2021-03-18  2:48 UTC (permalink / raw)
  To: raingloom; +Cc: help-guix

Hi,

raingloom <raingloom@riseup.net> writes:

> On Sun, 14 Mar 2021 20:33:06 -0500
> Nathan Dehnel <ncdehnel@gmail.com> wrote:
>
>> This is extremely confusing:
>> https://guix.gnu.org/manual/en/html_node/Btrfs-file-system.html

Hello!  Trying to explain it was a real challenge.  Would you mind
detailing what exactly got you confused?  Hopefully it can be improved.

>> I made my best attempt at creating and mounting a subvolume at
>> /media/offsite-backup:
>>
>>   (file-systems
>>     (cons* (file-system
>>              (mount-point "/")
>>              (device
>>                (uuid "b2e0f449-0583-46fd-8c23-ad2e6cd661a1"
>>                      'btrfs))
>>              (type "btrfs"))
>>            (file-system
>>              (mount-point "/media/offsite-backup")
>>              (device
>>                (uuid "b2e0f449-0583-46fd-8c23-ad2e6cd661a1"
>>                      'btrfs))
>>              (type "btrfs")
>>              (options "subvol=offsite-backup,compress=zlib:9"))
>>
>> It gives this error:
>>
>> building
>> /gnu/store/mrs1qbg619qk4n2lv8k377arclgzwqjq-install-bootloader.scm.drv...
>> guix system: bootloader successfully installed on '/dev/sda' guix
>> system: warning: exception caught while executing 'start' on service
>> 'file-system-/media/offsite-backup': In procedure mount: mount
>> "/dev/sda2" on "///media/offsite-backup": No such file or directory
>> guix system: warning: some services could not be upgraded
>>
>> But /media/offsite-backup exists.

Trying it on my end.

$ blkid
/dev/sda2: UUID="0792432c-78d8-4dcc-87c5-30200c3d02db" TYPE="crypto_LUKS" PARTUUID="b2284a29-5c96-4983-afae-daf1528bb1b2"
/dev/mapper/cryptroot: UUID="2e97fbbd-fa4e-4858-948b-b3a89278a39b" UUID_SUB="7cf6061d-a2d8-4c69-ad34-8d8e31b973cd" TYPE="btrfs"
/dev/sdc: UUID="7bb7e1dd-b0f9-45dc-bf2a-39c6d3a4ee42" TYPE="crypto_LUKS"
/dev/sdb2: UUID="a9aead40-9d01-4f7a-bb83-be70dd192b7b" TYPE="crypto_LUKS" PARTUUID="4bc8deb4-7ad9-524f-ada9-0ef0783c2704"

According to [0], on has to use the UUID rather than the UUID_SUB;
perhaps that's what is causing you problems if you used the UUID_SUB?  I
updated my (working) file system declaration from:

    (file-systems (cons* (file-system
                           (mount-point "/")
                           (device "/dev/mapper/cryptroot")
                           (type "btrfs")
			   (options "compress-force=zstd,space_cache=v2")
			   (dependencies mapped-devices))
                         %base-file-systems))

to

    (file-systems (cons* (file-system
                           (mount-point "/")
                           (device (uuid "2e97fbbd-fa4e-4858-948b-b3a89278a39b"
                                         'btrfs))
                           (type "btrfs")
			   (options "compress-force=zstd,space_cache=v2")
			   (dependencies mapped-devices))
                         %base-file-systems))

reconfigured and reboot.  Granted, I don't currently mount a subvolumes
on this machine.  I do on a second one, I could try it there too if
you're still blocked.

> I'm looking at
> https://wiki.archlinux.org/index.php/Btrfs#Mounting_subvolumes
> and it seems like you either need a numberic ID or an absolute path,
> not a relative one.
> On my machine `findmnt` returns `subvol=/`.

In Guix, you want to use the subvolume name (that's the 'subvol'
option), not the subvolume ID, as Guix relies on the subvolume name to
generate the GRUB configuration.  This is explained in the manual and an
error message with a hint should be displayed when attempting to use
subvolumes with an ID for the root file system.

HTH,

Maxim

[0]  https://www.linux.com/training-tutorials/how-manage-btrfs-storage-pools-subvolumes-and-snapshots-linux-part-1/


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-03-20  4:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-15  1:33 How do I specify a btrfs subvolume? Nathan Dehnel
2021-03-17  1:44 ` raingloom
2021-03-18  2:48   ` Maxim Cournoyer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).