public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: David Sterba <dsterba@suse.cz>
To: Qu Wenruo <quwenruo.btrfs@gmx.com>
Cc: kreijack@inwind.it, Mark Harmstone <maharmstone@fb.com>,
	linux-btrfs@vger.kernel.org
Subject: Re: [PATCH v5] btrfs-progs: add --subvol option to mkfs.btrfs
Date: Thu, 15 Aug 2024 00:20:51 +0200	[thread overview]
Message-ID: <20240814222051.GC25962@suse.cz> (raw)
In-Reply-To: <93991cfd-8a39-4178-b8ff-a5edd445410a@gmx.com>

On Thu, Aug 15, 2024 at 07:41:03AM +0930, Qu Wenruo wrote:
> 
> 
> 在 2024/8/15 07:27, David Sterba 写道:
> [...]
> >>
> >> You ignored all the things like owner/group/privilege bits and maybe
> >> even xattrs (for SELINUX) that will be needed.
> >
> > There are probably two main use cases:
> >
> > - create something simple, with files copied from a directory and now
> >    newly also to make some directories subvolumes
> >
> > - create a filesystem where any detail can be specified, like uid/gid,
> >    access rights, ACL, XATTR, ...
> >
> > So far the focus is on option 1 and it seems we have the most common use
> > covered. For option 2 the command line options are probably the wron
> > interface.
> 
> Nope, the current implementation (inherited from the --rootdir option)
> handles both.
> 
> We have everything, except the hardlinks, copied from the rootdir,
> including uid/gid/access mode, XATTR.

For rootdir it copies exactly the uid/git values. The use case I have in
mind is to allow to change it to eg. root:root although the source files
are onwed by a "user:group".

> > I suggest to use an approach using a list of definitions, e.g. in a
> > file, where each line says what should be done on the filesystem. This
> > is not a new idea, XFS has a protofile, which is ancient and we don't
> > have to copy the exact format, but it's the same idea.
> 
> I think it's asking for problems that is already resolved.
> 
> The current rootdir is already providing every functionality, except
> subvolume related ones (subvolume, snapshot, default subvolume etc).
> 
> And Mark's excellent work handles the missing subvolume part, and he is
> also working on the default subvolume part too.
> 
> So far I really see no reason to introduce a completely new and complex
> (and conflicting with --rootdir) interface, while everything can be done
> by --rootdir + --subvol already.
> 
> The only exception is snapshot, but for mkosi usage, I didn't see much
> need for a snapshot.

I don't agree that everything is possible with --rootdir, like the
example above with the different user:group. Setting a root user
requires root but for cases where the image is built by an unprivileged
user it does not work. The difference is between actually modifying the
existing file (e.g. under SElinux or similar), but allowing the user to
create the filesystem image without limitations.

  reply	other threads:[~2024-08-14 22:21 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-08 17:17 [PATCH v5] btrfs-progs: add --subvol option to mkfs.btrfs Mark Harmstone
2024-08-09 19:31 ` David Sterba
2024-08-10  9:53   ` Goffredo Baroncelli
2024-08-10 22:40     ` Qu Wenruo
2024-08-12 11:42       ` Goffredo Baroncelli
2024-08-12 14:39         ` Mark Harmstone
2024-08-12 22:08         ` Qu Wenruo
2024-08-14 21:57           ` David Sterba
2024-08-14 22:11             ` Qu Wenruo
2024-08-14 22:20               ` David Sterba [this message]
2024-08-13  0:52   ` Anand Jain
2024-08-13 10:38     ` Mark Harmstone
2024-08-14 21:47     ` David Sterba

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=20240814222051.GC25962@suse.cz \
    --to=dsterba@suse.cz \
    --cc=kreijack@inwind.it \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=maharmstone@fb.com \
    --cc=quwenruo.btrfs@gmx.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox