From: Christian Brauner <brauner@kernel.org>
To: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
Cc: xiubli@redhat.com, stgraber@ubuntu.com,
linux-fsdevel@vger.kernel.org, Ilya Dryomov <idryomov@gmail.com>,
Jeff Layton <jlayton@kernel.org>,
ceph-devel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v10 00/12] ceph: support idmapped mounts
Date: Mon, 7 Aug 2023 15:40:12 +0200 [thread overview]
Message-ID: <20230807-gepinselt-begeistern-89bf404c2c12@brauner> (raw)
In-Reply-To: <20230807132626.182101-1-aleksandr.mikhalitsyn@canonical.com>
On Mon, Aug 07, 2023 at 03:26:14PM +0200, Alexander Mikhalitsyn wrote:
> Dear friends,
>
> This patchset was originally developed by Christian Brauner but I'll continue
> to push it forward. Christian allowed me to do that :)
>
> This feature is already actively used/tested with LXD/LXC project.
>
> Git tree (based on https://github.com/ceph/ceph-client.git testing):
> v10: https://github.com/mihalicyn/linux/commits/fs.idmapped.ceph.v10
> current: https://github.com/mihalicyn/linux/tree/fs.idmapped.ceph
>
> In the version 3 I've changed only two commits:
> - fs: export mnt_idmap_get/mnt_idmap_put
> - ceph: allow idmapped setattr inode op
> and added a new one:
> - ceph: pass idmap to __ceph_setattr
>
> In the version 4 I've reworked the ("ceph: stash idmapping in mdsc request")
> commit. Now we take idmap refcounter just in place where req->r_mnt_idmap
> is filled. It's more safer approach and prevents possible refcounter underflow
> on error paths where __register_request wasn't called but ceph_mdsc_release_request is
> called.
>
> Changelog for version 5:
> - a few commits were squashed into one (as suggested by Xiubo Li)
> - started passing an idmapping everywhere (if possible), so a caller
> UID/GID-s will be mapped almost everywhere (as suggested by Xiubo Li)
>
> Changelog for version 6:
> - rebased on top of testing branch
> - passed an idmapping in a few places (readdir, ceph_netfs_issue_op_inline)
>
> Changelog for version 7:
> - rebased on top of testing branch
> - this thing now requires a new cephfs protocol extension CEPHFS_FEATURE_HAS_OWNER_UIDGID
> https://github.com/ceph/ceph/pull/52575
>
> Changelog for version 8:
> - rebased on top of testing branch
> - added enable_unsafe_idmap module parameter to make idmapped mounts
> work with old MDS server versions
> - properly handled case when old MDS used with new kernel client
>
> Changelog for version 9:
> - added "struct_len" field in struct ceph_mds_request_head as requested by Xiubo Li
>
> Changelog for version 10:
> - fill struct_len field properly (use cpu_to_le32)
> - add extra checks IS_CEPH_MDS_OP_NEWINODE(..) as requested by Xiubo to match
> userspace client behavior
> - do not set req->r_mnt_idmap for MKSNAP operation
> - atomic_open: set req->r_mnt_idmap only for CEPH_MDS_OP_CREATE as userspace client does
I won't RVB my own patches so I only added RVBs for the ones you
specifically added. So fwiw, I'm done reviewing.
next prev parent reply other threads:[~2023-08-07 13:41 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-07 13:26 Alexander Mikhalitsyn
2023-08-07 13:26 ` [PATCH v10 01/12] fs: export mnt_idmap_get/mnt_idmap_put Alexander Mikhalitsyn
2023-08-07 13:26 ` [PATCH v10 02/12] ceph: stash idmapping in mdsc request Alexander Mikhalitsyn
2023-08-07 13:26 ` [PATCH v10 03/12] ceph: handle idmapped mounts in create_request_message() Alexander Mikhalitsyn
2023-08-07 13:26 ` [PATCH v10 04/12] ceph: add enable_unsafe_idmap module parameter Alexander Mikhalitsyn
2023-08-07 13:26 ` [PATCH v10 05/12] ceph: pass an idmapping to mknod/symlink/mkdir Alexander Mikhalitsyn
2023-08-07 13:26 ` [PATCH v10 06/12] ceph: allow idmapped getattr inode op Alexander Mikhalitsyn
2023-08-07 13:26 ` [PATCH v10 07/12] ceph: allow idmapped permission " Alexander Mikhalitsyn
2023-08-07 13:26 ` [PATCH v10 08/12] ceph: pass idmap to __ceph_setattr Alexander Mikhalitsyn
2023-08-07 13:26 ` [PATCH v10 09/12] ceph: allow idmapped setattr inode op Alexander Mikhalitsyn
2023-08-07 13:26 ` [PATCH v10 10/12] ceph/acl: allow idmapped set_acl " Alexander Mikhalitsyn
2023-08-07 13:26 ` [PATCH v10 11/12] ceph/file: allow idmapped atomic_open " Alexander Mikhalitsyn
2023-08-07 13:26 ` [PATCH v10 12/12] ceph: allow idmapped mounts Alexander Mikhalitsyn
2023-08-07 13:40 ` Christian Brauner [this message]
2023-08-08 0:45 ` [PATCH v10 00/12] ceph: support " Xiubo Li
2023-08-08 6:30 ` Aleksandr Mikhalitsyn
2023-08-08 7:50 ` Xiubo Li
2023-10-17 9:20 ` Aleksandr Mikhalitsyn
2023-10-19 5:41 ` Xiubo Li
2023-10-23 7:57 ` Aleksandr Mikhalitsyn
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=20230807-gepinselt-begeistern-89bf404c2c12@brauner \
--to=brauner@kernel.org \
--cc=aleksandr.mikhalitsyn@canonical.com \
--cc=ceph-devel@vger.kernel.org \
--cc=idryomov@gmail.com \
--cc=jlayton@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=stgraber@ubuntu.com \
--cc=xiubli@redhat.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
all inboxes | Powered by JetHome®