linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christian Brauner <brauner@kernel.org>
To: Christoph Hellwig <hch@lst.de>, Chris Mason <clm@fb.com>,
	Josef Bacik <josef@toxicpanda.com>,
	David Sterba <dsterba@suse.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>,
	linux-btrfs@vger.kernel.org,
	Christian Brauner <christian.brauner@ubuntu.com>,
	Christoph Hellwig <hch@infradead.org>
Subject: [PATCH v3 20/21] btrfs/super: allow idmapped btrfs
Date: Mon, 26 Jul 2021 12:28:15 +0200	[thread overview]
Message-ID: <20210726102816.612434-21-brauner@kernel.org> (raw)
In-Reply-To: <20210726102816.612434-1-brauner@kernel.org>

From: Christian Brauner <christian.brauner@ubuntu.com>

Now that we converted btrfs internally to account for idmapped mounts allow the
creation of idmapped mounts on btrfs by setting the FS_ALLOW_IDMAP flag.  We
only need to raise this flag on the btrfs_root_fs_type filesystem since
btrfs_mount_root() is ultimately responsible for allocating the superblock and
is called into from btrfs_mount() associated with btrfs_fs_type.

The conversion of the btrfs inode operations was straightforward. Regarding
btrfs specific ioctls that perform checks based on inode permissions only those
have been allowed that are not filesystem wide operations and hence can be
reasonably charged against a specific mount.

Cc: Chris Mason <clm@fb.com>
Cc: Josef Bacik <josef@toxicpanda.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: David Sterba <dsterba@suse.com>
Cc: linux-btrfs@vger.kernel.org
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
---
/* v2 */
unchanged

/* v3 */
unchanged
---
 fs/btrfs/super.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index d07b18b2b250..5ba21f6b443c 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -2381,7 +2381,7 @@ static struct file_system_type btrfs_root_fs_type = {
 	.name		= "btrfs",
 	.mount		= btrfs_mount_root,
 	.kill_sb	= btrfs_kill_super,
-	.fs_flags	= FS_REQUIRES_DEV | FS_BINARY_MOUNTDATA,
+	.fs_flags	= FS_REQUIRES_DEV | FS_BINARY_MOUNTDATA | FS_ALLOW_IDMAP,
 };
 
 MODULE_ALIAS_FS("btrfs");
-- 
2.30.2


  parent reply	other threads:[~2021-07-26 10:29 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-26 10:27 [PATCH v3 00/21] btrfs: support idmapped mounts Christian Brauner
2021-07-26 10:27 ` [PATCH v3 01/21] namei: add mapping aware lookup helper Christian Brauner
2021-07-26 14:41   ` Matthew Wilcox
2021-07-26 14:45     ` Christoph Hellwig
2021-07-26 16:10       ` Christian Brauner
2021-07-26 10:27 ` [PATCH v3 02/21] btrfs/inode: handle idmaps in btrfs_new_inode() Christian Brauner
2021-07-26 10:27 ` [PATCH v3 03/21] btrfs/inode: allow idmapped rename iop Christian Brauner
2021-07-26 10:27 ` [PATCH v3 04/21] btrfs/inode: allow idmapped getattr iop Christian Brauner
2021-07-26 10:28 ` [PATCH v3 05/21] btrfs/inode: allow idmapped mknod iop Christian Brauner
2021-07-26 10:28 ` [PATCH v3 06/21] btrfs/inode: allow idmapped create iop Christian Brauner
2021-07-26 10:28 ` [PATCH v3 07/21] btrfs/inode: allow idmapped mkdir iop Christian Brauner
2021-07-26 10:28 ` [PATCH v3 08/21] btrfs/inode: allow idmapped symlink iop Christian Brauner
2021-07-26 10:28 ` [PATCH v3 09/21] btrfs/inode: allow idmapped tmpfile iop Christian Brauner
2021-07-26 10:28 ` [PATCH v3 10/21] btrfs/inode: allow idmapped setattr iop Christian Brauner
2021-07-26 10:28 ` [PATCH v3 11/21] btrfs/inode: allow idmapped permission iop Christian Brauner
2021-07-26 10:28 ` [PATCH v3 12/21] btrfs/ioctl: check whether fs{g,u}id are mapped during subvolume creation Christian Brauner
2021-07-26 10:28 ` [PATCH v3 13/21] btrfs/inode: allow idmapped BTRFS_IOC_{SNAP,SUBVOL}_CREATE{_V2} ioctl Christian Brauner
2021-07-26 10:28 ` [PATCH v3 14/21] btrfs/ioctl: allow idmapped BTRFS_IOC_SNAP_DESTROY{_V2} ioctl Christian Brauner
2021-07-26 11:26   ` Qu Wenruo
2021-07-26 10:28 ` [PATCH v3 15/21] btrfs/ioctl: relax restrictions for BTRFS_IOC_SNAP_DESTROY_V2 with subvolids Christian Brauner
2021-07-26 11:31   ` Qu Wenruo
2021-07-26 12:07     ` Christian Brauner
2021-07-26 10:28 ` [PATCH v3 16/21] btrfs/ioctl: allow idmapped BTRFS_IOC_SET_RECEIVED_SUBVOL{_32} ioctl Christian Brauner
2021-07-26 10:28 ` [PATCH v3 17/21] btrfs/ioctl: allow idmapped BTRFS_IOC_SUBVOL_SETFLAGS ioctl Christian Brauner
2021-07-26 10:28 ` [PATCH v3 18/21] btrfs/ioctl: allow idmapped BTRFS_IOC_INO_LOOKUP_USER ioctl Christian Brauner
2021-07-26 10:28 ` [PATCH v3 19/21] btrfs/acl: handle idmapped mounts Christian Brauner
2021-07-26 10:28 ` Christian Brauner [this message]
2021-07-26 10:28 ` [PATCH v3 21/21] btrfs/242: introduce btrfs specific idmapped mounts tests Christian Brauner

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=20210726102816.612434-21-brauner@kernel.org \
    --to=brauner@kernel.org \
    --cc=christian.brauner@ubuntu.com \
    --cc=clm@fb.com \
    --cc=dsterba@suse.com \
    --cc=hch@infradead.org \
    --cc=hch@lst.de \
    --cc=josef@toxicpanda.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=viro@zeniv.linux.org.uk \
    /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;
as well as URLs for NNTP newsgroup(s).