Linux Btrfs filesystem development
 help / color / mirror / Atom feed
From: "Jakob Schürz" <wertstoffe@nurfuerspam.de>
To: linux-btrfs@vger.kernel.org
Subject: Re: systemd.setenv and a mount.unit
Date: Thu, 20 Nov 2014 11:35:24 +0100	[thread overview]
Message-ID: <546DC3EC.1020903@nurfuerspam.de> (raw)
In-Reply-To: <546DBFCB.4090506@inwind.it>

Am 2014-11-20 um 11:17 schrieb Goffredo Baroncelli:
> On 2014-11-19 23:48, Jakob Schürz wrote:
>> Hi there!
>>
>> Another challenge... I'm using btrfs. So i make snapshots from my
>> system. And in a script, I make a symlink (for example:
>> @system.CURRENT and @system.LAST) for the current and the last
>> snapshot.
>
> Interesting, I was unaware that I could mount a subvolume passing
> a "soft" link.

Fortunately Yes, that works. :)
So i came on this idea, to create 2 (or more) stable links on the 
current, last and so on snapshot. The Problem is the fstab...

>
>>
>> So i want to add 2 entries in grub2 from which i can boot into the
>> current and the last snapshot.
>>
>> I tried to pass an environmental variable with
>> systemd.setenv=BOOTSNAP=@system.CURRENT, and i have a mount-unit
>> containing the option
>>
>> Options=defaults,nofail,subvol=archive-local/@system.$BOOTSNAP
>>
>> but it doesn't work. If i change $BOOTSNAP to CURRENT, the mount
>> works. So i made a test.service, containing only StartExec=/bin/echo
>> $BOOTSNAP I get the value @system.CURRENT in the logs...
>
> This is more a systemd related question. However it seems that ExecStart
> supports "...basic environment variable substitution..."; but the mount unit
> doesn't. This explain your difficulties. Anyway I suggest you to contact the
> systemd developers to get further support; maybe that this could be a add as
> TODO item.

I hope so... and i found out, that this is not a btrfs-challenge.
On the grub-devel-list i saw a discussion to make dynamically entries 
for all snapshots in a certain directory according to this challenge.

But this also didn't solve the fstab-challenge.

So i think i have to place it on a systemd-devel-list...

>
>> How can I do this mounts?
>
> For the boot, I used the "rootflags=" command line options. This
> usually is interpreted by the initrd/initramfs as option to pass
> to the mount command. In my case I have:
>
> 	rootflags=subvol=debian
>
> so, the subvol=debian option is passed to mount. When grub-mkconfig
> generates the grub menu entries, does so.

This I also have in my grub-config, and it works. But it doesn't solve 
the challenge. Mounting more subvolumes according to the 
root-subvolume... :-)

regards
Jakob


  reply	other threads:[~2014-11-20 10:35 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-19 22:48 systemd.setenv and a mount.unit Jakob Schürz
2014-11-20 10:17 ` Goffredo Baroncelli
2014-11-20 10:35   ` Jakob Schürz [this message]
2014-11-20 11:14     ` Goffredo Baroncelli
2014-11-20 18:39       ` Chris Murphy
2014-12-10 14:36         ` David Sterba
2014-11-20 12:04 ` Brendan Hide

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=546DC3EC.1020903@nurfuerspam.de \
    --to=wertstoffe@nurfuerspam.de \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox