Como posso criar um subvolume BTRFS com um nome contendo '@'?

2

Estou tentando automatizar a criação e a montagem de subvolumes btrfs. É fácil para mim criá-los e criar a entrada fstab, mas é mais difícil analisar o ID do subvolume.

Eu notei que outros subvolumes têm nomes previsíveis prefixados com '@' e são montados dessa forma em / etc / fstab

UUID=280d6f04-6ad0-4647-96b9-580aec12bbdc /var/log btrfs noatime,subvol=@/var/log 0 0

De fato, a montagem por tal rótulo funciona

$ mount -o subvol=@/var/log photoshop-32

A montagem de um subvolume com um nome 'normal' falha

$ mount -o subvol=var/users/robert/wines/photoshop-32 /var/users/robert/wines/photoshop-32/
mount: mount(2) failed: /var/users/robert/wines/photoshop-32: No such file or directory

Por isso, tentei criar um subvolume com esse nome, mas falhei

# btrfs subvolume create /var/users/robert/wines/blah/@/var/users/robert/wines/blah
ERROR: cannot access '/var/users/robert/wines/blah/@/var/users/robert/wines': No such file or directory

# btrfs subvolume create /@/var/users/robert/wines/blah
ERROR: cannot access '/@/var/users/robert/wines': No such file or directory

# btrfs subvolume create //@/var/users/robert/wines/blah
# ERROR: cannot access '//@/var/users/robert/wines': No such file or directory

Como posso criar subvolumes com um '@' no nome deles? Alternativamente, como posso montar subvolumes sem a necessidade de encontrar o id de subvolume?

    
por Robert Munteanu 13.10.2016 / 22:01

1 resposta

4

Graças ao canal #btrfs no IRC ( referência completa ), eu descobri o seguinte:

  • esses subvolumes subvolumes são criados sob o subvolume subvolid=0 , que não é montado por padrão
  • para criar esses subvolumes, primeiro monte esse subvolume de nível superior e, em seguida, crie o subvolume abaixo dele

Por exemplo, no meu cenário:

# mount UUID=280d6f04-6ad0-4647-96b9-580aec12bbdc -o subvolid=0 btrfs-sys/
# tree -L 2 /mnt/btrfs-sys/
/mnt/btrfs-sys/
└── @
    ├── boot
    ├── etc
    ├── opt
    ├── srv
    ├── tmp
    ├── usr
    └── var
    
por 13.10.2016 / 22:35