From: "Austin S. Hemmelgarn" <ahferroin7@gmail.com>
To: Chris Murphy <lists@colorremedies.com>, bo.li.liu@oracle.com
Cc: Tobias Hunger <tobias.hunger@gmail.com>,
Btrfs BTRFS <linux-btrfs@vger.kernel.org>
Subject: Re: btrfs and containers
Date: Wed, 9 Mar 2016 07:15:36 -0500 [thread overview]
Message-ID: <56E013E8.9080401@gmail.com> (raw)
In-Reply-To: <CAJCQCtSp5B=nnpCs3zaCsMK+8qLNLzYQAqka5P1X+a+R4RzGOQ@mail.gmail.com>
On 2016-03-08 16:28, Chris Murphy wrote:
> On Tue, Mar 8, 2016 at 12:58 PM, Liu Bo <bo.li.liu@oracle.com> wrote:
>> On Mon, Mar 07, 2016 at 04:45:09PM -0700, Chris Murphy wrote:
>>> On Mon, Mar 7, 2016 at 3:55 PM, Tobias Hunger <tobias.hunger@gmail.com> wrote:
>>>> Hi,
>>>>
>>>> I have been running systemd-nspawn containers on top of a btrfs
>>>> filesystem for a while now.
>>>>
>>>> This works great: Snapshots are a huge help to manage containers!
>>>>
>>>> But today I ran btrfs subvol list . *inside* a container. To my
>>>> surprise I got a list of *all* subvolumes on that drive. That is
>>>> basically a complete list of containers running on the machine. I do
>>>> not want to have that kind of information exposed to my containers.
>>>>
>>>> Is there a way to stop btrfs from listing subvolumes "above" the
>>>> current location? So that "btrfs subvol list /" in a container will
>>>> only show subvolumes that are set up in the container?
>>
>> That's a good question.
>>
>> Looks like that "btrfs subvolume list -o" match the needs here.
>>
>>>
>>> I'm not sure whether this is something that goes in Btrfs proper,
>>> since this is presumably a privileged container? The same thing
>>> happens with Docker containers. One way to do this is if it's not
>>> privileged, as non-root can't list subvolumes. I think some work is
>>> needed to make it possible for users to list subvolumes they own.
>>> Right now a user can create a subvolume but then now list or get
>>> information on it. By default they can't delete it either unless a
>>> special mount option is used. So I think there's work that's needed
>>> one way or another, and maybe in more than one part.
>>
>> Unfortunately, btrfs subvolume list 's various usage is built on top of TREE_SEARCH ioctl
>> which requires CAP_SYS_ADMIN.
>>
>> So what we need here might be to teach 'btrfs sub list' to recognize
>> container's CAP_SYS_XXX (if this is possible).
>
>
> Yes, it's a bit peculiar I can create subvolumes and snapshot them,
> but can't 'btrfs sub list/show'
>
> It's an open question why the user needs a subvolume, but I'm not
> thinking of a human user necessarily but rather some service, maybe
> it's httpd. Or maybe with the xdg-app stuff the Gnome folks are
> working on it makes sense to encapsulate applications and their
> updates in their own subvolume. *shrug* I'm open to the idea that the
> use case needs to be more compelling and detailed in order to get the
> implementation right.
>
It's probably worth tossing out there that I use them on a regular basis
as a normal user (not root or some service) for:
1. Local copies of VCS repositories.
2. Build directories.
3. Staging areas for a variety of things.
4. Specifically isolating certain parts of my home directory from backups.
1-3 are mostly because of the fact that deleting a subvolume is insanely
fast compared to recursive deletion of a directory, although 4 is
somewhat significant for those as well.
In general I can see them being useful for any number of things from a
service perspective, although I feel that snapshots are likely more
useful there (the ability to atomically save the state of a set of files
is extremely useful for a lot of things).
next prev parent reply other threads:[~2016-03-09 12:16 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-07 22:55 btrfs and containers Tobias Hunger
2016-03-07 23:45 ` Chris Murphy
2016-03-08 19:58 ` Liu Bo
2016-03-08 21:28 ` Chris Murphy
2016-03-09 12:15 ` Austin S. Hemmelgarn [this message]
2016-03-10 2:55 ` Duncan
2016-03-10 17:04 ` Austin S. Hemmelgarn
2016-03-10 19:35 ` Chris Murphy
2016-03-10 22:34 ` Liu Bo
2016-03-11 2:50 ` Duncan
2016-03-08 12:12 ` Austin S. Hemmelgarn
2016-03-09 21:10 ` Marc MERLIN
2016-03-09 21:21 ` Chris Murphy
2016-03-09 21:45 ` Marc MERLIN
2016-03-09 23:28 ` Rich Freeman
-- strict thread matches above, loose matches on Subject: below --
2016-03-11 3:55 Tomasz Chmielewski
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=56E013E8.9080401@gmail.com \
--to=ahferroin7@gmail.com \
--cc=bo.li.liu@oracle.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=lists@colorremedies.com \
--cc=tobias.hunger@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.