Hi Kerim,

On 15/01/15 18:26, Kerim Gueney wrote:
Here is the promised config file. In this example I am using a single
disk with two different partitions one containing btrfs and the other
ext4 and with / in btrfs and /home in ext4:

disk_config disk1
primary    /home    50%    ext4    defaults
primary    -   50%   -    -

disk_config btrfs
btrfs    raid1    /    disk1.2    noatime,subvol=@/

Ah, so that's how it works.

I had just assumed that the btrfs itself is specified like a "normal" filesystem partition and wrote:

primary /      10G-30G   btrfs  rw

this, of course, also worked, but simply produced a plain brtfs with the root in the / subvolume. The subsequent btrfs lines then confused me. Maybe the documentation should mention more explicitly that btrfs should *not* be initialized as such, if any of the more advanced options are to be used?

The raid1 is in this case redundant, because btrfs uses raid1 for data
and metadata by default (irrc that's true even for single disk
configurations, because you can always add a disk later and it kinda
needs to know how to handle it). However, we decided to make that part
mandatory.

By looking at the source, I found that "single" is also a valid choice here.
http://fai-project.org/doc/man/setup-storage.html only gives one btrfs example, and no formal description of what the btrfs lines should look like.

Also note the "subvol=@/" , setup-storage will not create your / in the
root of the filesystem but actually create a subvolume for it. It will
be added to your fstab accordingly.

So that's it. You first define your partitions and the "classical"
filesystems in the "disk_config disk*" and then in disk_config btrfs
part, you define all btrfs raids/partitions. If you want both / and
/home in a subvolume each and each of them in their own paritions, then do:

disk_config disk1
primary    -   50%   -    -
primary    -   50%   -    -

disk_config btrfs
btrfs    raid1    /    disk1.2    noatime,subvol=@/
btrfs    raid1    /home    disk1.1   subvol=@/home

Ok, wonderful. All cleared up now.

One more thing: the regex matching btrfs-lines in setup-storage strictly matches spaces after the btrfs token. Maybe that should be changed to "\s"?

Best regards
Kerim

Cheers, and thanks alot,

//Urs

Antwort per Email an