From nobody Sun Feb 8 21:09:46 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 865C8C7EE25 for ; Wed, 7 Jun 2023 18:10:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232518AbjFGSKo (ORCPT ); Wed, 7 Jun 2023 14:10:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55826 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232478AbjFGSKf (ORCPT ); Wed, 7 Jun 2023 14:10:35 -0400 Received: from smtp-relay-internal-1.canonical.com (smtp-relay-internal-1.canonical.com [185.125.188.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D93E41FE6 for ; Wed, 7 Jun 2023 11:10:33 -0700 (PDT) Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 735D63F194 for ; Wed, 7 Jun 2023 18:10:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1686161432; bh=GFNwWvhavDkNrI4eqwez7OWrv+w+Iw1WNhnwQW/Fw7E=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=QZsZNJMfAW/P0rvAl7554+mCWRe3HjI9fYa+LijJD7nGGZb9sYswTh5zXkIjAIbMT AzYuwc3CbUtCYIpONBHfVhVx4qbskX3udQu5S+lKQpqMzP8Us8mi6rcKR/NGJiJQFq 5UlSoroSqp6IfHEKoMRcgWALR+BBa8eF7zX9HNc9ZpJPKIye8XPlytfu+QYj+Pv5bx jzraMcNShJDbhCDisJJizXhn8HBidRyb4RVx9QdrSzOvZKStqxabHz3rlQeqQ5jSdI eplW8FiCA/i+ED3op46k5vvL7ngurizEndnHV0ZRWdmIhjprAbsz5N+i2iuLe1h7AE fKVmgSZXI0IPg== Received: by mail-ej1-f72.google.com with SMTP id a640c23a62f3a-94a34d3e5ebso572050166b.3 for ; Wed, 07 Jun 2023 11:10:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686161432; x=1688753432; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GFNwWvhavDkNrI4eqwez7OWrv+w+Iw1WNhnwQW/Fw7E=; b=QH44jUSNMgZgvBzPkTW7ep2bPsiJztxSb34/lQst7RcULy7ER9R0x8VJbKtAjLkqCe jbke3O+sAj5Chiy4eDU9hX0hs+1nQkspO0z1MO9HE4/NZQON1a8hLKOmSH3ZjU3XIaO0 U38DuByZd/9Yh9rwWuTa3vn/tvuC87zfM+s/LCRJN6lRSZ4d9hL+GxTcgKYRs41VoUtY fvHYzwuaVV8O4D+Ine+it6bElGpppdhlzpKIQW2ixSFCO/iAllXCpuFZYeE9JM/8npgM jzjCXKPlOmBWwRTTlANgO7iDCxILQ3IGo/DXcKdXGgVR8/iqiQyWKfDvHZbCs3ujA4Od PLqA== X-Gm-Message-State: AC+VfDwUiV66t2tfzE1dkGKFy2N1UzfzBSKgi6plEdqZQ7MK7FwdbxFW RtDHITND3j3vtyfrnSerMNmRCEcJCKpvzs5AL1qE/tESeyRz+LAk7ySu4JaNztoWlcR77IKw+w/ V+VCpV44XcMBHOYp8BWPoVmFN5bVXEKGmmSrTUU3JbA== X-Received: by 2002:a17:907:7288:b0:978:780e:4520 with SMTP id dt8-20020a170907728800b00978780e4520mr4046879ejc.20.1686161432029; Wed, 07 Jun 2023 11:10:32 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5ZP9o3lv7ue/D0pMtDWVMAHHrN0ZyVe2Ne6ODfTagyU0HLTQrviPvgnMgxn+cGqcxvHciHTA== X-Received: by 2002:a17:907:7288:b0:978:780e:4520 with SMTP id dt8-20020a170907728800b00978780e4520mr4046862ejc.20.1686161431822; Wed, 07 Jun 2023 11:10:31 -0700 (PDT) Received: from amikhalitsyn.local (dslb-002-205-064-187.002.205.pools.vodafone-ip.de. [2.205.64.187]) by smtp.gmail.com with ESMTPSA id oz17-20020a170906cd1100b009745edfb7cbsm7170494ejb.45.2023.06.07.11.10.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 11:10:31 -0700 (PDT) From: Alexander Mikhalitsyn To: xiubli@redhat.com Cc: brauner@kernel.org, stgraber@ubuntu.com, linux-fsdevel@vger.kernel.org, Alexander Mikhalitsyn , Jeff Layton , Ilya Dryomov , ceph-devel@vger.kernel.org, Alexander Viro , Seth Forshee , linux-kernel@vger.kernel.org Subject: [PATCH v4 01/14] fs: export mnt_idmap_get/mnt_idmap_put Date: Wed, 7 Jun 2023 20:09:44 +0200 Message-Id: <20230607180958.645115-2-aleksandr.mikhalitsyn@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> References: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" These helpers are required to support idmapped mounts in the Cephfs. Cc: Christian Brauner Cc: Xiubo Li Cc: Jeff Layton Cc: Ilya Dryomov Cc: ceph-devel@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org Signed-off-by: Alexander Mikhalitsyn Reviewed-by: Christian Brauner --- v3: - EXPORT_SYMBOL -> EXPORT_SYMBOL_GPL as Christoph Hellwig suggested --- fs/mnt_idmapping.c | 2 ++ include/linux/mnt_idmapping.h | 3 +++ 2 files changed, 5 insertions(+) diff --git a/fs/mnt_idmapping.c b/fs/mnt_idmapping.c index 4905665c47d0..57d1dedf3f8f 100644 --- a/fs/mnt_idmapping.c +++ b/fs/mnt_idmapping.c @@ -256,6 +256,7 @@ struct mnt_idmap *mnt_idmap_get(struct mnt_idmap *idmap) =20 return idmap; } +EXPORT_SYMBOL_GPL(mnt_idmap_get); =20 /** * mnt_idmap_put - put a reference to an idmapping @@ -271,3 +272,4 @@ void mnt_idmap_put(struct mnt_idmap *idmap) kfree(idmap); } } +EXPORT_SYMBOL_GPL(mnt_idmap_put); diff --git a/include/linux/mnt_idmapping.h b/include/linux/mnt_idmapping.h index 057c89867aa2..b8da2db4ecd2 100644 --- a/include/linux/mnt_idmapping.h +++ b/include/linux/mnt_idmapping.h @@ -115,6 +115,9 @@ static inline bool vfsgid_eq_kgid(vfsgid_t vfsgid, kgid= _t kgid) =20 int vfsgid_in_group_p(vfsgid_t vfsgid); =20 +struct mnt_idmap *mnt_idmap_get(struct mnt_idmap *idmap); +void mnt_idmap_put(struct mnt_idmap *idmap); + vfsuid_t make_vfsuid(struct mnt_idmap *idmap, struct user_namespace *fs_userns, kuid_t kuid); =20 --=20 2.34.1 From nobody Sun Feb 8 21:09:46 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DDFB1C7EE25 for ; Wed, 7 Jun 2023 18:10:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231178AbjFGSKs (ORCPT ); Wed, 7 Jun 2023 14:10:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55796 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232471AbjFGSKk (ORCPT ); Wed, 7 Jun 2023 14:10:40 -0400 Received: from smtp-relay-internal-1.canonical.com (smtp-relay-internal-1.canonical.com [185.125.188.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 928E51FC3 for ; Wed, 7 Jun 2023 11:10:37 -0700 (PDT) Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 9BE3D3F120 for ; Wed, 7 Jun 2023 18:10:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1686161435; bh=PnimYtsU8L1wziru+PbLo9AAv92Qytxkfm0LOSGrer8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=f4Ow0cXfcxrvXjQnNGNTOTZRSK/XsAzJhks8oXLB+U9OuUfR4QKNyLwbMJ1KmxlXl iaZseCKueNgg+z35HSj4LU3YJY0XmDbBCEsAYdm60DCtOAL2LLg8+eHsHNUoyMR5Zn b6d/v833RzZ7NKwWciYktQyjO+dDq5NqMw2G2vFeSYk0eGIxalqnnlWz2UnezDv9RF U5CcFdr5lq7vc1mNUplizMBIEYwZZ34V0u/2GuaYnaZcs74utGo4dGjI+t6TFDn5V8 OolW5AUY3g2eLgHnoIzxsF8Iyh1UAn7JISUejVHogMj10cgWhUrpMVemZmrWFslo9w RJGPV3Pbgskyg== Received: by mail-ej1-f69.google.com with SMTP id a640c23a62f3a-977c516686aso503019766b.1 for ; Wed, 07 Jun 2023 11:10:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686161435; x=1688753435; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PnimYtsU8L1wziru+PbLo9AAv92Qytxkfm0LOSGrer8=; b=JbfpTrHTln4/4pKGwrO/sYPfDGQvJIEa8Hyi83VCt4bJWi+mOP3y8ySkanavwxJHfZ 1AMDKwGS+XW/RdpG8XgdqG+3mYqZGFwTGjWmtGzzY47UiZpOW7LIb14QX/1r5qv/nda3 nhSfyBy6Rhjgv2kaltqUhbML7dAdoT3FkSY1PBBUGTq8ybG/fXVPC/cILdJceI+MpIkm 87+eP73AyriRWTrwDx5g+3pbA5YxoM2Y//1V7zYijuYwhq+YRG5P+29J3djkvP6tq1Yc xPtONfsvl0LXjhsvDGzxmFgnJSEOP6g6Ijwc31Yfn/DB335H8QvpUkGp1y4FTMivFbpl 0hFw== X-Gm-Message-State: AC+VfDwhtYvZDzBpxW9AQy6CY+jb12leuFtImqDb6zZ/Pf2j9xaDwElD enC7ir4YAXd2a+rLxQMn9/Jb+6l3y/STR5X7EEI4hv0Byu/iCXhS4kPI8n0JraWe4fcx4eaY3GF /hBMFrxDFh6JkChxmMbRLUiblTWyVP429x3mNHt7+9g== X-Received: by 2002:a17:907:8a08:b0:973:d1cd:933d with SMTP id sc8-20020a1709078a0800b00973d1cd933dmr7874765ejc.47.1686161435286; Wed, 07 Jun 2023 11:10:35 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6noxHTypAyjkYYgzACU+3pomO8jr2HnNRQ/wBTwDkTdyTqSLpcYw7tUbeaV5I0WXpNEgp9uA== X-Received: by 2002:a17:907:8a08:b0:973:d1cd:933d with SMTP id sc8-20020a1709078a0800b00973d1cd933dmr7874752ejc.47.1686161435119; Wed, 07 Jun 2023 11:10:35 -0700 (PDT) Received: from amikhalitsyn.local (dslb-002-205-064-187.002.205.pools.vodafone-ip.de. [2.205.64.187]) by smtp.gmail.com with ESMTPSA id oz17-20020a170906cd1100b009745edfb7cbsm7170494ejb.45.2023.06.07.11.10.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 11:10:34 -0700 (PDT) From: Alexander Mikhalitsyn To: xiubli@redhat.com Cc: brauner@kernel.org, stgraber@ubuntu.com, linux-fsdevel@vger.kernel.org, Christian Brauner , Jeff Layton , Ilya Dryomov , ceph-devel@vger.kernel.org, Alexander Mikhalitsyn , linux-kernel@vger.kernel.org Subject: [PATCH v4 02/14] ceph: stash idmapping in mdsc request Date: Wed, 7 Jun 2023 20:09:45 +0200 Message-Id: <20230607180958.645115-3-aleksandr.mikhalitsyn@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> References: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Christian Brauner When sending a mds request cephfs will send relevant data for the requested operation. For creation requests the caller's fs{g,u}id is used to set the ownership of the newly created filesystem object. For setattr requests the caller can pass in arbitrary {g,u}id values to which the relevant filesystem object is supposed to be changed. If the caller is performing the relevant operation via an idmapped mount cephfs simply needs to take the idmapping into account when it sends the relevant mds request. In order to support idmapped mounts for cephfs we stash the idmapping whenever they are relevant for the operation for the duration of the request. Since mds requests can be queued and performed asynchronously we make sure to keep the idmapping around and release it once the request has finished. In follow-up patches we will use this to send correct ownership information over the wire. This patch just adds the basic infrastructure to keep the idmapping around. The actual conversion patches are all fairly minimal. Cc: Xiubo Li Cc: Jeff Layton Cc: Ilya Dryomov Cc: ceph-devel@vger.kernel.org Signed-off-by: Christian Brauner Signed-off-by: Alexander Mikhalitsyn --- v4: - don't call mnt_idmap_get(..) in __register_request --- fs/ceph/mds_client.c | 5 +++++ fs/ceph/mds_client.h | 1 + 2 files changed, 6 insertions(+) diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index 4c0f22acf53d..05a99a8eb292 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c @@ -12,6 +12,7 @@ #include #include #include +#include =20 #include "super.h" #include "mds_client.h" @@ -962,6 +963,8 @@ void ceph_mdsc_release_request(struct kref *kref) kfree(req->r_path1); kfree(req->r_path2); put_cred(req->r_cred); + if (req->r_mnt_idmap) + mnt_idmap_put(req->r_mnt_idmap); if (req->r_pagelist) ceph_pagelist_release(req->r_pagelist); put_request_session(req); @@ -1018,6 +1021,8 @@ static void __register_request(struct ceph_mds_client= *mdsc, insert_request(&mdsc->request_tree, req); =20 req->r_cred =3D get_current_cred(); + if (!req->r_mnt_idmap) + req->r_mnt_idmap =3D &nop_mnt_idmap; =20 if (mdsc->oldest_tid =3D=3D 0 && req->r_op !=3D CEPH_MDS_OP_SETFILELOCK) mdsc->oldest_tid =3D req->r_tid; diff --git a/fs/ceph/mds_client.h b/fs/ceph/mds_client.h index 724307ff89cd..32001ade1ea7 100644 --- a/fs/ceph/mds_client.h +++ b/fs/ceph/mds_client.h @@ -280,6 +280,7 @@ struct ceph_mds_request { int r_fmode; /* file mode, if expecting cap */ int r_request_release_offset; const struct cred *r_cred; + struct mnt_idmap *r_mnt_idmap; struct timespec64 r_stamp; =20 /* for choosing which mds to send this request to */ --=20 2.34.1 From nobody Sun Feb 8 21:09:46 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 51AB3C8300C for ; Wed, 7 Jun 2023 18:11:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232727AbjFGSLG (ORCPT ); Wed, 7 Jun 2023 14:11:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55954 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232478AbjFGSKp (ORCPT ); Wed, 7 Jun 2023 14:10:45 -0400 Received: from smtp-relay-internal-0.canonical.com (smtp-relay-internal-0.canonical.com [185.125.188.122]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5F78710EA for ; Wed, 7 Jun 2023 11:10:42 -0700 (PDT) Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 342CD3F15A for ; Wed, 7 Jun 2023 18:10:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1686161439; bh=MVopSiFXJtuCZDFmw4k6EoX9EHPj+DJ/m9lrNV/HJJI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=hk/Ii+UacLExekwR0a+UCvbKPJ5yBaUs3obtOJlndTVO0oCP6wv+JVDnAic2HPG+1 9ZoTF2ArOIqWesvvz1fVJ8MA+dXuxIK9XEynUCoojf//EBrpsJmWT5gjbH0lebgJAm qjLIFOjOKLmPEQxM3Jq1jSEXeyc/3FY2/NKaeggk+kITmbwf8ptci7xhDb18mNkSkX mX7y6k9j/jt8sQ2dak1dMtsRmoG4rwYvNMUKbk2yqsVanMjYEu+C/yG4QTlN7CrVyG WYMjWGQTPzlmN0WVIiwz86xSiwxGHbGXmEY3399HeaqMyz9rf9EGKzcYXXwOK4VQ/C b2UGIH8bFtnmQ== Received: by mail-ej1-f71.google.com with SMTP id a640c23a62f3a-977e50b0120so326131466b.0 for ; Wed, 07 Jun 2023 11:10:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686161437; x=1688753437; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MVopSiFXJtuCZDFmw4k6EoX9EHPj+DJ/m9lrNV/HJJI=; b=RJNbrvVFa2GKTO5B5ffi3eeITVZ6icbhItEqCm1rq/laCGw+d9/yz/djHzj72RRR8a pEKnXmgFtl4AR16ou6yWKpvaPDRukv/KmuHC41ISkRMSs6Rb8GozwNhGomm/HBnoXaJh 2sMVW6MpceDTCgyX+Rn6dFfQ01XuOqiO2M1y8z3LduJVkdexQ8HBnZWfAzwn3vIIGftJ xE3WF4YeB2/8FMGx4f4VMyyIr3T5d6ZdL63yNzzER2xylS8S8RxWDTG9qR/K9IRZnosi IwfCuNb48aTpFGZOGF2HDo2P4avIQFz4FG3lsoS6foC2IMIw2Fwf6rlTtsxW987vUkLl NSJg== X-Gm-Message-State: AC+VfDyN9QSlIlU8qaMyKtiHCJF8e1ieMcfyoN+7FJQ3SaJMrvkYZ/Eo lcuWqWiqCVWlGADPsUOnYF8Rz+Mu81E02Y/EEpfrpxKDUMuLBKySn/ptgxZv3mEzonl9W8eMepV QN6mYIK295x3P1QAwZI4wEfTBN4/+LOLjU6miqkW4Iw== X-Received: by 2002:a17:907:1ca5:b0:974:55a2:cb0b with SMTP id nb37-20020a1709071ca500b0097455a2cb0bmr7864123ejc.55.1686161437457; Wed, 07 Jun 2023 11:10:37 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7Hx4Sj502mBi2ESaQSMhiznhaLxn+viNpDBQOVxcQyv8UIFv7FEc8wYeZfqKJStff6NYVuAA== X-Received: by 2002:a17:907:1ca5:b0:974:55a2:cb0b with SMTP id nb37-20020a1709071ca500b0097455a2cb0bmr7864098ejc.55.1686161437145; Wed, 07 Jun 2023 11:10:37 -0700 (PDT) Received: from amikhalitsyn.local (dslb-002-205-064-187.002.205.pools.vodafone-ip.de. [2.205.64.187]) by smtp.gmail.com with ESMTPSA id oz17-20020a170906cd1100b009745edfb7cbsm7170494ejb.45.2023.06.07.11.10.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 11:10:36 -0700 (PDT) From: Alexander Mikhalitsyn To: xiubli@redhat.com Cc: brauner@kernel.org, stgraber@ubuntu.com, linux-fsdevel@vger.kernel.org, Christian Brauner , Jeff Layton , Ilya Dryomov , ceph-devel@vger.kernel.org, Alexander Mikhalitsyn , linux-kernel@vger.kernel.org Subject: [PATCH v4 03/14] ceph: handle idmapped mounts in create_request_message() Date: Wed, 7 Jun 2023 20:09:46 +0200 Message-Id: <20230607180958.645115-4-aleksandr.mikhalitsyn@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> References: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Christian Brauner Inode operations that create a new filesystem object such as ->mknod, ->create, ->mkdir() and others don't take a {g,u}id argument explicitly. Instead the caller's fs{g,u}id is used for the {g,u}id of the new filesystem object. Cephfs mds creation request argument structures mirror this filesystem behavior. They don't encode a {g,u}id explicitly. Instead the caller's fs{g,u}id that is always sent as part of any mds request is used by the servers to set the {g,u}id of the new filesystem object. In order to ensure that the correct {g,u}id is used map the caller's fs{g,u}id for creation requests. This doesn't require complex changes. It suffices to pass in the relevant idmapping recorded in the request message. If this request message was triggered from an inode operation that creates filesystem objects it will have passed down the relevant idmaping. If this is a request message that was triggered from an inode operation that doens't need to take idmappings into account the initial idmapping is passed down which is an identity mapping and thus is guaranteed to leave the caller's fs{g,u}id unchanged.,u}id is sent. The last few weeks before Christmas 2021 I have spent time not just reading and poking the cephfs kernel code but also took a look at the ceph mds server userspace to ensure I didn't miss some subtlety. This made me aware of one complication to solve. All requests send the caller's fs{g,u}id over the wire. The caller's fs{g,u}id matters for the server in exactly two cases: 1. to set the ownership for creation requests 2. to determine whether this client is allowed access on this server Case 1. we already covered and explained. Case 2. is only relevant for servers where an explicit uid access restriction has been set. That is to say the mds server restricts access to requests coming from a specific uid. Servers without uid restrictions will grant access to requests from any uid by setting MDS_AUTH_UID_ANY. Case 2. introduces the complication because the caller's fs{g,u}id is not just used to record ownership but also serves as the {g,u}id used when checking access to the server. Consider a user mounting a cephfs client and creating an idmapped mount from it that maps files owned by uid 1000 to be owned uid 0: mount -t cephfs -o [...] /unmapped mount-idmapped --map-mount 1000:0:1 /idmapped That is to say if the mounted cephfs filesystem contains a file "file1" which is owned by uid 1000: - looking at it via /unmapped/file1 will report it as owned by uid 1000 (One can think of this as the on-disk value.) - looking at it via /idmapped/file1 will report it as owned by uid 0 Now, consider creating new files via the idmapped mount at /idmapped. When a caller with fs{g,u}id 1000 creates a file "file2" by going through the idmapped mount mounted at /idmapped it will create a file that is owned by uid 1000 on-disk, i.e.: - looking at it via /unmapped/file2 will report it as owned by uid 1000 - looking at it via /idmapped/file2 will report it as owned by uid 0 Now consider an mds server that has a uid access restriction set and only grants access to requests from uid 0. If the client sends a creation request for a file e.g. /idmapped/file2 it will send the caller's fs{g,u}id idmapped according to the idmapped mount. So if the caller has fs{g,u}id 1000 it will be mapped to {g,u}id 0 in the idmapped mount and will be sent over the wire allowing the caller access to the mds server. However, if the caller is not issuing a creation request the caller's fs{g,u}id will be send without the mount's idmapping applied. So if the caller that just successfully created a new file on the restricted mds server sends a request as fs{g,u}id 1000 access will be refused. This however is inconsistent. From my perspective the root of the problem lies in the fact that creation requests implicitly infer the ownership from the {g,u}id that gets sent along with every mds request. I have thought of multiple ways of addressing this problem but the one I prefer is to give all mds requests that create a filesystem object a proper, separate {g,u}id field entry in the argument struct. This is, for example how ->setattr mds requests work. This way the caller's fs{g,u}id can be used consistenly for server access checks and is separated from the ownership for new filesystem objects. Servers could then be updated to refuse creation requests whenever the {g,u}id used for access checking doesn't match the {g,u}id used for creating the filesystem object just as is done for setattr requests on a uid restricted server. But I am, of course, open to other suggestions. Cc: Xiubo Li Cc: Jeff Layton Cc: Ilya Dryomov Cc: ceph-devel@vger.kernel.org Signed-off-by: Christian Brauner Signed-off-by: Alexander Mikhalitsyn --- fs/ceph/mds_client.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index 05a99a8eb292..8826be3c209f 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c @@ -2581,6 +2581,8 @@ static struct ceph_msg *create_request_message(struct= ceph_mds_session *session, void *p, *end; int ret; bool legacy =3D !(session->s_con.peer_features & CEPH_FEATURE_FS_BTIME); + kuid_t caller_fsuid; + kgid_t caller_fsgid; =20 ret =3D set_request_path_attr(req->r_inode, req->r_dentry, req->r_parent, req->r_path1, req->r_ino1.ino, @@ -2649,10 +2651,22 @@ static struct ceph_msg *create_request_message(stru= ct ceph_mds_session *session, =20 head->mdsmap_epoch =3D cpu_to_le32(mdsc->mdsmap->m_epoch); head->op =3D cpu_to_le32(req->r_op); - head->caller_uid =3D cpu_to_le32(from_kuid(&init_user_ns, - req->r_cred->fsuid)); - head->caller_gid =3D cpu_to_le32(from_kgid(&init_user_ns, - req->r_cred->fsgid)); + /* + * Inode operations that create filesystem objects based on the + * caller's fs{g,u}id like ->mknod(), ->create(), ->mkdir() etc. don't + * have separate {g,u}id fields in their respective structs in the + * ceph_mds_request_args union. Instead the caller_{g,u}id field is + * used to set ownership of the newly created inode by the mds server. + * For these inode operations we need to send the mapped fs{g,u}id over + * the wire. For other cases we simple set req->r_mnt_idmap to the + * initial idmapping meaning the unmapped fs{g,u}id is sent. + */ + caller_fsuid =3D from_vfsuid(req->r_mnt_idmap, &init_user_ns, + VFSUIDT_INIT(req->r_cred->fsuid)); + caller_fsgid =3D from_vfsgid(req->r_mnt_idmap, &init_user_ns, + VFSGIDT_INIT(req->r_cred->fsgid)); + head->caller_uid =3D cpu_to_le32(from_kuid(&init_user_ns, caller_fsuid)); + head->caller_gid =3D cpu_to_le32(from_kgid(&init_user_ns, caller_fsgid)); head->ino =3D cpu_to_le64(req->r_deleg_ino); head->args =3D req->r_args; =20 --=20 2.34.1 From nobody Sun Feb 8 21:09:46 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A04E0C7EE25 for ; Wed, 7 Jun 2023 18:11:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232685AbjFGSLE (ORCPT ); Wed, 7 Jun 2023 14:11:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56000 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232576AbjFGSKs (ORCPT ); Wed, 7 Jun 2023 14:10:48 -0400 Received: from smtp-relay-internal-0.canonical.com (smtp-relay-internal-0.canonical.com [185.125.188.122]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 851381FC3 for ; Wed, 7 Jun 2023 11:10:43 -0700 (PDT) Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id E8AD73F15C for ; Wed, 7 Jun 2023 18:10:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1686161441; bh=iEnhNZXEpvf6z44xxB3rnp1IhVt5v+qShuvQ8nza8PQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=udW0A+gZPXbkTsyzbB/o2dZvkt+MYjxoHwrdL2QvgXbFK6uCHaL7uKfN9TgYq5b54 oPTQXBzs3eayGfueSvGO6Fxx8iHz8DEtYl9zyWkf3pUlkhz7yVe8O7KDemAdrWGGHw IrDspX4yl4oUptkYl7YvyQaPlsN3wEBVlSIz5IMkJmTff+AUAU9ldSDp947uVT6xDA B2bRfxQ4x/YRZw9pa4ZAwnsiJ2RTG3TxqHI0QZfoglnv9kYZwXNvBYzhOv0wJqN0NI cLUlwkmeQ6tHArQuy1/bK2G6hSxxfBNdogYSjRdOTASfGd3Cndnrs7/7+myrIWF0qP r/8W4+d/rUS2w== Received: by mail-ej1-f71.google.com with SMTP id a640c23a62f3a-9744659b7b5so692098266b.3 for ; Wed, 07 Jun 2023 11:10:41 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686161440; x=1688753440; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=iEnhNZXEpvf6z44xxB3rnp1IhVt5v+qShuvQ8nza8PQ=; b=dW5vV/T4JJgRracQKCHguo6MAml1sq8ujDzNJ26L2zCyo4TxvV7E75crAY20AgPkQp O6d8C9UxvUx+VUsoSgJZFWkA0e4oRIEgnjXDjGMUZaOQkCqDBkg7g92Cho6df5hxuJLz qwsZ0DPZgDq/yRCrfapeguHFPx9PqCUlFa9ZCxwJYeQgBc3WVcuoSm5xQEqqZ5PZvdZW JUwmkNok9QEDBrvn5DFHOOkbl3ftAvehG/01FNTsdLXy6UozGZfssMLzMeigxOwZyudD kJ01cheEq+3QtYuQ9ycv6LQVmAK2Vg8iqNuzd7+JJsA0bGRYSpdgcx73c+jq47cnYNwC hjUA== X-Gm-Message-State: AC+VfDzqO7wf8eKb0Y+85tiQNcRtZ6Lph/9SX8GbRnqcHHy72VdXIch3 1Qz4vtG1+Jdkmy3rZlhxOcBnwxoeUzlNg8r7A/2N41koYgrQGaind5um/BteYCAM9E+U0GPmgGN GilEgu9nEpUHNzv4iDghIlwDaN47j+CPZDOZAUV7AKQ== X-Received: by 2002:a17:907:6d98:b0:96f:ea85:3ef6 with SMTP id sb24-20020a1709076d9800b0096fea853ef6mr7344061ejc.62.1686161440262; Wed, 07 Jun 2023 11:10:40 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5kN0yD5UKteqOZCdE8d2DUc0BogNgwOVnzz8+4Qovf99098TrosTx+jldMHixGqT6jVCGfZQ== X-Received: by 2002:a17:907:6d98:b0:96f:ea85:3ef6 with SMTP id sb24-20020a1709076d9800b0096fea853ef6mr7344043ejc.62.1686161440120; Wed, 07 Jun 2023 11:10:40 -0700 (PDT) Received: from amikhalitsyn.local (dslb-002-205-064-187.002.205.pools.vodafone-ip.de. [2.205.64.187]) by smtp.gmail.com with ESMTPSA id oz17-20020a170906cd1100b009745edfb7cbsm7170494ejb.45.2023.06.07.11.10.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 11:10:39 -0700 (PDT) From: Alexander Mikhalitsyn To: xiubli@redhat.com Cc: brauner@kernel.org, stgraber@ubuntu.com, linux-fsdevel@vger.kernel.org, Christian Brauner , Jeff Layton , Ilya Dryomov , ceph-devel@vger.kernel.org, Alexander Mikhalitsyn , linux-kernel@vger.kernel.org Subject: [PATCH v4 04/14] ceph: allow idmapped mknod inode op Date: Wed, 7 Jun 2023 20:09:47 +0200 Message-Id: <20230607180958.645115-5-aleksandr.mikhalitsyn@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> References: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Christian Brauner Enable ceph_mknod() to handle idmapped mounts. This is just a matter of passing down the mount's idmapping. Cc: Xiubo Li Cc: Jeff Layton Cc: Ilya Dryomov Cc: ceph-devel@vger.kernel.org Signed-off-by: Christian Brauner Signed-off-by: Alexander Mikhalitsyn --- v4: - call mnt_idmap_get --- fs/ceph/dir.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c index cb67ac821f0e..aaae586de4de 100644 --- a/fs/ceph/dir.c +++ b/fs/ceph/dir.c @@ -884,6 +884,7 @@ static int ceph_mknod(struct mnt_idmap *idmap, struct i= node *dir, req->r_parent =3D dir; ihold(dir); set_bit(CEPH_MDS_R_PARENT_LOCKED, &req->r_req_flags); + req->r_mnt_idmap =3D mnt_idmap_get(idmap); req->r_args.mknod.mode =3D cpu_to_le32(mode); req->r_args.mknod.rdev =3D cpu_to_le32(rdev); req->r_dentry_drop =3D CEPH_CAP_FILE_SHARED | CEPH_CAP_AUTH_EXCL; --=20 2.34.1 From nobody Sun Feb 8 21:09:46 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6FF83C87FDE for ; Wed, 7 Jun 2023 18:11:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232842AbjFGSLK (ORCPT ); Wed, 7 Jun 2023 14:11:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56212 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232501AbjFGSLA (ORCPT ); Wed, 7 Jun 2023 14:11:00 -0400 Received: from smtp-relay-internal-0.canonical.com (smtp-relay-internal-0.canonical.com [185.125.188.122]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C8BFE1FE2 for ; Wed, 7 Jun 2023 11:10:45 -0700 (PDT) Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id D70283F160 for ; Wed, 7 Jun 2023 18:10:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1686161443; bh=NiXISWdTTKqrASGu11LnECL/5NzVPnT3d4irPieP8Oo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=fv+cASnkekyxpgPBOTe7kCkXdiSJM5qzQq3/utsFK2qHAAli72ySXOKNUvWBoDgc7 WzCZcH4+WRjzsNH6YSmj2cJgKBbBl+pbKnyDNFPU3PGkqmAVKsoVZdbyHsw0G5JVR1 ejA3TMVuf7fLLxAFsDS4R/qNVOnlytC02uyOA050GY2B/tD3+UqoniXmj+ECxtvdiH FmgF4csYCmqW2Df7TbtshQs0vAUfygjOCT40fQF3LZP6Q75vZ3j4GmU1ILttGFIUx2 VLZf9FAwLXQAMTQ/5go8FujH7vpCjsilx8C2qYQhbq5FNxenRKeWrH6pOwCv8rBwyU 8/cp0Q9k6usIQ== Received: by mail-ej1-f72.google.com with SMTP id a640c23a62f3a-97455ea1c14so540464066b.2 for ; Wed, 07 Jun 2023 11:10:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686161443; x=1688753443; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NiXISWdTTKqrASGu11LnECL/5NzVPnT3d4irPieP8Oo=; b=bSRc33hnWmzfmMbZvIebC/vk1j6Mbx2kKzsyxTcgbW7YxKoco0QtYdGZwaIFIW4pFP TyZlhegU7osPvVPXurqXV7Uvzw3vjuqSuv1P4ry8qXUp+hz11Bfjo/4MpNvvA7v1DYtD 9oHEO6nIDoYizeQ4YH7Lg8bzSTlumrjGh1kWzv40sU+A5gQCB/mChVC8aFez+BRXWN7A /8JZ5qHsXyRswIIXDrAC9nu3334ykON6cGVMnC+PIZZbvWfPN0WFUsfSuDkl9yLxSBUw uDVvwVsx2w/q+JGHfq4skVvfjv7ZEVh3rGEUExW0gJsqoW2kzhR8jFdW/xvvNqO9tOeg G1lQ== X-Gm-Message-State: AC+VfDzXrxHt2jjuOKyAv4ZioohEnzs/hCkEzGx6NWqWpy0mM4VvOTGr F9aB+W3Itt+wmnA6kI1noCBwv7oBsUAa270yMfqabBS94OviVp1eaoCHVq9uzPjdVTZPWNfMDGs 8ssjUb5pU+71iq7DNTnRyw7Th/bzePawCVeG/gfEa/w== X-Received: by 2002:a17:907:7203:b0:971:9364:f8cd with SMTP id dr3-20020a170907720300b009719364f8cdmr7198750ejc.44.1686161443503; Wed, 07 Jun 2023 11:10:43 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6v6uUPJK8+xV3dSA9zftqoqH4Sl5IhvWY6O86BBmABFIFnOcXD46uWK9jOFmxZDQRLCE5RZg== X-Received: by 2002:a17:907:7203:b0:971:9364:f8cd with SMTP id dr3-20020a170907720300b009719364f8cdmr7198723ejc.44.1686161443215; Wed, 07 Jun 2023 11:10:43 -0700 (PDT) Received: from amikhalitsyn.local (dslb-002-205-064-187.002.205.pools.vodafone-ip.de. [2.205.64.187]) by smtp.gmail.com with ESMTPSA id oz17-20020a170906cd1100b009745edfb7cbsm7170494ejb.45.2023.06.07.11.10.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 11:10:42 -0700 (PDT) From: Alexander Mikhalitsyn To: xiubli@redhat.com Cc: brauner@kernel.org, stgraber@ubuntu.com, linux-fsdevel@vger.kernel.org, Christian Brauner , Jeff Layton , Ilya Dryomov , ceph-devel@vger.kernel.org, Alexander Mikhalitsyn , linux-kernel@vger.kernel.org Subject: [PATCH v4 05/14] ceph: allow idmapped symlink inode op Date: Wed, 7 Jun 2023 20:09:48 +0200 Message-Id: <20230607180958.645115-6-aleksandr.mikhalitsyn@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> References: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Christian Brauner Enable ceph_symlink() to handle idmapped mounts. This is just a matter of passing down the mount's idmapping. Cc: Xiubo Li Cc: Jeff Layton Cc: Ilya Dryomov Cc: ceph-devel@vger.kernel.org Signed-off-by: Christian Brauner Signed-off-by: Alexander Mikhalitsyn --- v4: - call mnt_idmap_get --- fs/ceph/dir.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c index aaae586de4de..5025b570683d 100644 --- a/fs/ceph/dir.c +++ b/fs/ceph/dir.c @@ -956,6 +956,7 @@ static int ceph_symlink(struct mnt_idmap *idmap, struct= inode *dir, req->r_num_caps =3D 2; req->r_dentry_drop =3D CEPH_CAP_FILE_SHARED | CEPH_CAP_AUTH_EXCL; req->r_dentry_unless =3D CEPH_CAP_FILE_EXCL; + req->r_mnt_idmap =3D mnt_idmap_get(idmap); if (as_ctx.pagelist) { req->r_pagelist =3D as_ctx.pagelist; as_ctx.pagelist =3D NULL; --=20 2.34.1 From nobody Sun Feb 8 21:09:46 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E29B0C7EE23 for ; Wed, 7 Jun 2023 18:11:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232553AbjFGSLZ (ORCPT ); Wed, 7 Jun 2023 14:11:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56046 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232613AbjFGSLB (ORCPT ); Wed, 7 Jun 2023 14:11:01 -0400 Received: from smtp-relay-internal-1.canonical.com (smtp-relay-internal-1.canonical.com [185.125.188.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 173391FFF for ; Wed, 7 Jun 2023 11:10:49 -0700 (PDT) Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 2356F3F1D1 for ; Wed, 7 Jun 2023 18:10:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1686161446; bh=6uQHZNltQASHUIIPvj6JLa2X5jqdjHd99JgtiW/BGQk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=h3W7GllYcOrBm4yfYbz4BcQL+3CI72qW+DWDt5eiX/jgVzlcDYpnDhLFmaFWXvKyJ 64mc+j2uyHUk7AlfwIWode4+eGsXfjd2LKKzhE6E3viq+oq3s3ZU3UTy0I6P0YpoSe tnudjz1uui3/92exROfVCJqAUMnOoE5mqP1kwU+h2qIkPVT1cs67n4kGcvDAxujktF UF6pKCa3pn/XVyJLLpzQBpTg6bG0tBQnWqIW7DH1VOZR/V4gGuBFbhZiBeobCw9jK8 11irsLs13jHxic2ARpkbELtyKP+zA0nWf1kI3sYSe8rP432RyjeoDdm2oXyuYYOPhM DjwMcO6xl2VcA== Received: by mail-ej1-f70.google.com with SMTP id a640c23a62f3a-977d0333523so459070066b.0 for ; Wed, 07 Jun 2023 11:10:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686161446; x=1688753446; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6uQHZNltQASHUIIPvj6JLa2X5jqdjHd99JgtiW/BGQk=; b=jIy5weLtZgUWYJWvefqxJ0SGtKzBUP1EMBVgQaeAb5awk1wksb7F9JwkLZ7T4JX6v3 ootVdMvohrmkIU1RAX5KBxS4mpcLyyh2pNLDAx9bbaYo1h/jVjYvFCfDfshf+fp0HbjG PhCpKu2YDw3xfK3oPMi/uGITNRyJfVwLhyQSBj2FJVAN76FVZGuTn44p2x3E48dtxKYW CnTwhmY0kJdKgUqq+fjZFMkUYM9Q/i4c6HVxKr8KP4/B8VM2KZ1JG/cfoKmsBk9gLk3T I5K6vIEr1qvZB4pxMD9829wPHmowryJ2AsCI8XiXsFUQLMMouoh+9xJFDmuWSDRJteG9 /dAQ== X-Gm-Message-State: AC+VfDxK7CuB+qnlQq3jpuHr4v/8c6JYOghUsMOe57sC3VcG9rJWsf5z hJq278rfpGHpxDcZdizvT3djTcdRSElFg9hcbrDpgTb5pPmMAHuWe6OEhBm1xfFclrkYd4ZRxKJ asW+S+jy1qf2kuQaxhhTulL9U9GL7VEBkosjIKVMnlA== X-Received: by 2002:a17:907:3e99:b0:96a:29c0:8515 with SMTP id hs25-20020a1709073e9900b0096a29c08515mr7106337ejc.58.1686161445977; Wed, 07 Jun 2023 11:10:45 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7AWxbyPvcXlQw3axgBfuZq1pyMG2G2W86d1AY82qx9seAOayCbRG2bCQML7fs+V7QljuN2tw== X-Received: by 2002:a17:907:3e99:b0:96a:29c0:8515 with SMTP id hs25-20020a1709073e9900b0096a29c08515mr7106326ejc.58.1686161445803; Wed, 07 Jun 2023 11:10:45 -0700 (PDT) Received: from amikhalitsyn.local (dslb-002-205-064-187.002.205.pools.vodafone-ip.de. [2.205.64.187]) by smtp.gmail.com with ESMTPSA id oz17-20020a170906cd1100b009745edfb7cbsm7170494ejb.45.2023.06.07.11.10.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 11:10:45 -0700 (PDT) From: Alexander Mikhalitsyn To: xiubli@redhat.com Cc: brauner@kernel.org, stgraber@ubuntu.com, linux-fsdevel@vger.kernel.org, Christian Brauner , Jeff Layton , Ilya Dryomov , ceph-devel@vger.kernel.org, Alexander Mikhalitsyn , linux-kernel@vger.kernel.org Subject: [PATCH v4 06/14] ceph: allow idmapped mkdir inode op Date: Wed, 7 Jun 2023 20:09:49 +0200 Message-Id: <20230607180958.645115-7-aleksandr.mikhalitsyn@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> References: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Christian Brauner Enable ceph_mkdir() to handle idmapped mounts. This is just a matter of passing down the mount's idmapping. Cc: Xiubo Li Cc: Jeff Layton Cc: Ilya Dryomov Cc: ceph-devel@vger.kernel.org Signed-off-by: Christian Brauner Signed-off-by: Alexander Mikhalitsyn --- v4: - call mnt_idmap_get --- fs/ceph/dir.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c index 5025b570683d..5ef90a49b156 100644 --- a/fs/ceph/dir.c +++ b/fs/ceph/dir.c @@ -1024,6 +1024,7 @@ static int ceph_mkdir(struct mnt_idmap *idmap, struct= inode *dir, ihold(dir); set_bit(CEPH_MDS_R_PARENT_LOCKED, &req->r_req_flags); req->r_args.mkdir.mode =3D cpu_to_le32(mode); + req->r_mnt_idmap =3D mnt_idmap_get(idmap); req->r_dentry_drop =3D CEPH_CAP_FILE_SHARED | CEPH_CAP_AUTH_EXCL; req->r_dentry_unless =3D CEPH_CAP_FILE_EXCL; if (as_ctx.pagelist) { --=20 2.34.1 From nobody Sun Feb 8 21:09:46 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 86A33C8300C for ; Wed, 7 Jun 2023 18:11:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232774AbjFGSLj (ORCPT ); Wed, 7 Jun 2023 14:11:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56244 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232580AbjFGSLC (ORCPT ); Wed, 7 Jun 2023 14:11:02 -0400 Received: from smtp-relay-internal-1.canonical.com (smtp-relay-internal-1.canonical.com [185.125.188.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8E0BF173B for ; Wed, 7 Jun 2023 11:10:51 -0700 (PDT) Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 61C293F154 for ; Wed, 7 Jun 2023 18:10:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1686161448; bh=U0wDd5vU5m4d9k8unybyLOfQsgHlr2098zatHuE7IuM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ldL169xNMQ6eUQugy7Hh/gSYwpxyZaEYgmX3W+adg73fYV2m3fOMVZVaIdS5EdF7Y Fo63hseefReNeLCKUyKTxeuXPxUu+eb8mppxjz832753rR5DzEAU3YOXmXbCU16/wb ncgO058JVfcxMikZ931K7sIOGJsPmEJGFdOLOPXSIUvRXqGsaTvZKqP0au7AVdGqLg oaivhcrJ/buzI6CaynR01IdW6rKBmwEonxUG8wzGgS474UUzCMzbxKuO1unRpR8BKN fTtI8STnpaTFUY75gX+ZxCqnsdvCMfCdFEpp7JVLTQxGP4KWggVCs+C7LTshxqNHFv NHG9ipxTbPgtA== Received: by mail-ej1-f70.google.com with SMTP id a640c23a62f3a-975942c2a29so463460266b.0 for ; Wed, 07 Jun 2023 11:10:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686161448; x=1688753448; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=U0wDd5vU5m4d9k8unybyLOfQsgHlr2098zatHuE7IuM=; b=fVQlRQkG9C8yMEorVkh3V3zRp6AjJEGUuk66ASSqfK06WV9rIQsstGorZiGnVL86mt JTiJZlpx4W/g4/1M4lTlb75Nk67bqeoGx/dVs6XQmYyNVm/XD+fY5UyL5oVY8eZxyivW /iFrZC8aBFQijgiiuV0oC0hib2FBQjZ4AiBd89Bv48Hs1WFp5RglRo4ZzMmoVaeMREzu v703l0ApNAWUznIHKHeAZ0RHghw2MKfk8xo15HKAQCoBkGWOYrAqjr1O0LrbakrGLY0o 0x/k+/vVvQjVRpeR/4IG/q/aJQnk6Ezy1zQ3dCQXiLt/ZYJ5sqHapmgT6ZwU2rH0GDnb +PDw== X-Gm-Message-State: AC+VfDx1KY3jXrl5nDdiYhgLypMvckzn9LuGwH36TdoFKoxw7/zpCvtG KB5fRB0IKdnvZgkROIhxlMU/saaGkx98dqmS6KLVvs7IIQr2e1842OknZwkQ6TZljxgF8qgIZZK 8NcYuVCvUXnU4QCElqyi59HSWAVOOIL8mr3n3Fe6OrQ== X-Received: by 2002:a17:906:dc8e:b0:965:6d21:48bc with SMTP id cs14-20020a170906dc8e00b009656d2148bcmr6951904ejc.75.1686161448211; Wed, 07 Jun 2023 11:10:48 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6ngknujcXmRZ3o/zUU3vPHCFz/0yZ08tou5UTAorufeNDslI9p+T/7P4VcApY0KYKUmADI6A== X-Received: by 2002:a17:906:dc8e:b0:965:6d21:48bc with SMTP id cs14-20020a170906dc8e00b009656d2148bcmr6951885ejc.75.1686161447977; Wed, 07 Jun 2023 11:10:47 -0700 (PDT) Received: from amikhalitsyn.local (dslb-002-205-064-187.002.205.pools.vodafone-ip.de. [2.205.64.187]) by smtp.gmail.com with ESMTPSA id oz17-20020a170906cd1100b009745edfb7cbsm7170494ejb.45.2023.06.07.11.10.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 11:10:47 -0700 (PDT) From: Alexander Mikhalitsyn To: xiubli@redhat.com Cc: brauner@kernel.org, stgraber@ubuntu.com, linux-fsdevel@vger.kernel.org, Christian Brauner , Jeff Layton , Ilya Dryomov , ceph-devel@vger.kernel.org, Alexander Mikhalitsyn , linux-kernel@vger.kernel.org Subject: [PATCH v4 07/14] ceph: allow idmapped rename inode op Date: Wed, 7 Jun 2023 20:09:50 +0200 Message-Id: <20230607180958.645115-8-aleksandr.mikhalitsyn@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> References: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Christian Brauner Enable ceph_rename() to handle idmapped mounts. This is just a matter of passing down the mount's idmapping. Cc: Xiubo Li Cc: Jeff Layton Cc: Ilya Dryomov Cc: ceph-devel@vger.kernel.org Signed-off-by: Christian Brauner Signed-off-by: Alexander Mikhalitsyn --- v4: - call mnt_idmap_get --- fs/ceph/dir.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c index 5ef90a49b156..355c5574ad27 100644 --- a/fs/ceph/dir.c +++ b/fs/ceph/dir.c @@ -1327,6 +1327,7 @@ static int ceph_rename(struct mnt_idmap *idmap, struc= t inode *old_dir, req->r_old_dentry_unless =3D CEPH_CAP_FILE_EXCL; req->r_dentry_drop =3D CEPH_CAP_FILE_SHARED; req->r_dentry_unless =3D CEPH_CAP_FILE_EXCL; + req->r_mnt_idmap =3D mnt_idmap_get(idmap); /* release LINK_RDCACHE on source inode (mds will lock it) */ req->r_old_inode_drop =3D CEPH_CAP_LINK_SHARED | CEPH_CAP_LINK_EXCL; if (d_really_is_positive(new_dentry)) { --=20 2.34.1 From nobody Sun Feb 8 21:09:46 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7FB69C7EE25 for ; Wed, 7 Jun 2023 18:11:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230320AbjFGSL2 (ORCPT ); Wed, 7 Jun 2023 14:11:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56222 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232561AbjFGSLD (ORCPT ); Wed, 7 Jun 2023 14:11:03 -0400 Received: from smtp-relay-internal-0.canonical.com (smtp-relay-internal-0.canonical.com [185.125.188.122]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A45C72111 for ; Wed, 7 Jun 2023 11:10:52 -0700 (PDT) Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 3B9233F14A for ; Wed, 7 Jun 2023 18:10:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1686161451; bh=U9FNme5iBEpufhowdmn6D6u4P9E81AUlwyvYSH4GMyo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Tbzw2iEYOGaykfz+CHs4otX32ABoUa4aOXiNJWE/cvovRCndVcL3wgazA63ztKE3U OpFG23mG40xWCvrwVPbNiVlbId705nqEK9i2p/5h6QJvEE////AmyANhkrCwOdB2qt 1cbgTb9X8+n+gluZOsEAINFc9tvck6Q0kCyjbIstBPq//DsEKU8QuuDqHXNb1pxwYx ZgR64KWLHFCvywt4RsqZye06pbfX0kvyaMRzZin028c10Fq9Q9h+oS/MyIbjxxzKFq 8fZC2sYzwts9lPnwyw7w3uxiVsvSdwybtk7u/dTmjH2mqksCJRqVcRWidb3ZLhWl0D Pq1IxEpA7fuSg== Received: by mail-ej1-f72.google.com with SMTP id a640c23a62f3a-94a355c9028so626576066b.3 for ; Wed, 07 Jun 2023 11:10:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686161451; x=1688753451; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=U9FNme5iBEpufhowdmn6D6u4P9E81AUlwyvYSH4GMyo=; b=LLiLuvMVZZLGCIwT0lkismyUv1+HJTFuXbPXRt2Huq6KR/juEO1lMPxpduNMxaIelJ /cxMWMeumGhTnNUvkGAUakZYSbknd4z903hH6WHtho2XHDHXPrnoLAFBPx3fsVtBNCkt si3c0PSk8UJcF2vd2akBS8+WqyctmjmBaI61BKr7lxTyN2Yq5SDv00KYDfJhbEZr3JHb Tsv0BACZrkbUorXWMKlj7YreXEq4tFtOI2MuPPR3QYjm6g2X4BxmJNRl8WYX5A24v9DM H+Wt9AIcWHJB6NNjC6mW+i5KwGi/bxGol7ET3j1NcXmnPb8J7rMbsIpchEKpoFlobvWQ eJig== X-Gm-Message-State: AC+VfDzXCLQ6A0bvO474XwIDruG5WVWuGIKLOgjkm3HOHmsgifdix11U m5NGIkp9B6P6+NUgcNMuTaEH0nUBGgyMzzwPkY10r+pWK22udCjpXFqwF0tGoJ7BsnIxsfE9po7 WuSKAcRV7b0xMhbnD1sGllh7eu9gpTk07YPCJhohFdQ== X-Received: by 2002:a17:906:6a16:b0:96f:9963:81ee with SMTP id qw22-20020a1709066a1600b0096f996381eemr7607935ejc.50.1686161451089; Wed, 07 Jun 2023 11:10:51 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7l7SHHgw+BU8rxXq08zQ4nhoIK2xRQlwDq8P8dpBDsOnwGZn+4CtqqsfCxYAnOQGLg07QwYA== X-Received: by 2002:a17:906:6a16:b0:96f:9963:81ee with SMTP id qw22-20020a1709066a1600b0096f996381eemr7607913ejc.50.1686161450893; Wed, 07 Jun 2023 11:10:50 -0700 (PDT) Received: from amikhalitsyn.local (dslb-002-205-064-187.002.205.pools.vodafone-ip.de. [2.205.64.187]) by smtp.gmail.com with ESMTPSA id oz17-20020a170906cd1100b009745edfb7cbsm7170494ejb.45.2023.06.07.11.10.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 11:10:50 -0700 (PDT) From: Alexander Mikhalitsyn To: xiubli@redhat.com Cc: brauner@kernel.org, stgraber@ubuntu.com, linux-fsdevel@vger.kernel.org, Christian Brauner , Jeff Layton , Ilya Dryomov , ceph-devel@vger.kernel.org, Alexander Mikhalitsyn , linux-kernel@vger.kernel.org Subject: [PATCH v4 08/14] ceph: allow idmapped getattr inode op Date: Wed, 7 Jun 2023 20:09:51 +0200 Message-Id: <20230607180958.645115-9-aleksandr.mikhalitsyn@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> References: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Christian Brauner Enable ceph_getattr() to handle idmapped mounts. This is just a matter of passing down the mount's idmapping. Cc: Xiubo Li Cc: Jeff Layton Cc: Ilya Dryomov Cc: ceph-devel@vger.kernel.org Signed-off-by: Christian Brauner Signed-off-by: Alexander Mikhalitsyn --- fs/ceph/inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index 8e5f41d45283..2e988612ed6c 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c @@ -2465,7 +2465,7 @@ int ceph_getattr(struct mnt_idmap *idmap, const struc= t path *path, return err; } =20 - generic_fillattr(&nop_mnt_idmap, inode, stat); + generic_fillattr(idmap, inode, stat); stat->ino =3D ceph_present_inode(inode); =20 /* --=20 2.34.1 From nobody Sun Feb 8 21:09:46 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 92BB4C7EE2E for ; Wed, 7 Jun 2023 18:11:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232701AbjFGSLb (ORCPT ); Wed, 7 Jun 2023 14:11:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56046 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232542AbjFGSLF (ORCPT ); Wed, 7 Jun 2023 14:11:05 -0400 Received: from smtp-relay-internal-0.canonical.com (smtp-relay-internal-0.canonical.com [185.125.188.122]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 652EE2126 for ; Wed, 7 Jun 2023 11:10:55 -0700 (PDT) Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id D4DF63F16E for ; Wed, 7 Jun 2023 18:10:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1686161453; bh=Yx9DhBwZ0J2oRahK7SO/c3VRSYe4JEpen4id9pbwqa8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=YWBfUtHa7qRlgcCQb+3PMmpH/RucR2nd/znRz5zYKeEQkF/XDMDfmWXuhTE2BBJcB SyrL+PfAhqDe1sKzZklRKAjRhR54BHdXkMk2ssC/x2Mgkg3ntW1YS3a3lBVGTK5TjL Haa6Wa0ZwNf09Yt9AM7/ZYJLOndSeSoV5LS0+8nfbSYIz286oMSmzN4HbCY+pWO0wS EVOP1L62LpyMklONjq80XxHNssxN+Ux5lHAXIgfnIha22Z9VkDxelXug7djwaBys2S 4ICaC4h4jrA5ZVgqzmZ39jqrHoEbnuZXXfbgT59gUnNW/dUBst4i0hX5KTs/wxLdja qbL9xnqGr5/qQ== Received: by mail-ej1-f72.google.com with SMTP id a640c23a62f3a-977d0333523so459087666b.0 for ; Wed, 07 Jun 2023 11:10:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686161453; x=1688753453; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Yx9DhBwZ0J2oRahK7SO/c3VRSYe4JEpen4id9pbwqa8=; b=b7mQqZHPGtOs5eVl5hDx6pwZ7uSkzYZWUqAR+8OnLkYKYUmyhtcACnQd3bP8mNpSCq ykErzRIDvwTyKFXlpiExpkhndLIVoTfthw5IuNb2LTx0FVYzotM6Ao19KOxviJMz4iec 2Cze/NLt8QuQ5cmmflhLI4bCbbGE8/BoVTCA4s2ZYuuXMY1sFkjE842fkRCmPTIXo0nb oysztiDQEC5EZWcwmyg3OnqC1fgVUTD454Ld6IIg7NzUDxagQr21tcTMu2qrfRCNsAQ9 P6qEAo8taYn6LNMlY2y8eDEUYdQqG0WVwFqrLd/8O0gsoFt7SwUGqNU8VFsNUGtM1/vw dZsQ== X-Gm-Message-State: AC+VfDzCzMC7TtNbDxOZEkqz/9BgIOTp5p6ub5M15xfjJzR/mt2SBmuP hy4tIFkCeKsAAnrM84Zp+s3OZwk6q4F0RmX8ks5TkQR1A3ZCFuPiY5ZicOSflYUPdPEz5ZL2mIH uB9Jxe6jiFfRhRokM3A2jChB/bxTCgbfmczFIYFX/zQ== X-Received: by 2002:a17:907:3da2:b0:96a:3e39:f567 with SMTP id he34-20020a1709073da200b0096a3e39f567mr7202641ejc.47.1686161453349; Wed, 07 Jun 2023 11:10:53 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4Y4EZF3oDO9KQHXjJRRbjW/E8b2iZk8j6UhQXdR4OzME2Ryqk98zEbdjZ4t0q/JTaCL8k8ZA== X-Received: by 2002:a17:907:3da2:b0:96a:3e39:f567 with SMTP id he34-20020a1709073da200b0096a3e39f567mr7202627ejc.47.1686161453170; Wed, 07 Jun 2023 11:10:53 -0700 (PDT) Received: from amikhalitsyn.local (dslb-002-205-064-187.002.205.pools.vodafone-ip.de. [2.205.64.187]) by smtp.gmail.com with ESMTPSA id oz17-20020a170906cd1100b009745edfb7cbsm7170494ejb.45.2023.06.07.11.10.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 11:10:52 -0700 (PDT) From: Alexander Mikhalitsyn To: xiubli@redhat.com Cc: brauner@kernel.org, stgraber@ubuntu.com, linux-fsdevel@vger.kernel.org, Christian Brauner , Jeff Layton , Ilya Dryomov , ceph-devel@vger.kernel.org, Alexander Mikhalitsyn , linux-kernel@vger.kernel.org Subject: [PATCH v4 09/14] ceph: allow idmapped permission inode op Date: Wed, 7 Jun 2023 20:09:52 +0200 Message-Id: <20230607180958.645115-10-aleksandr.mikhalitsyn@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> References: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Christian Brauner Enable ceph_permission() to handle idmapped mounts. This is just a matter of passing down the mount's idmapping. Cc: Xiubo Li Cc: Jeff Layton Cc: Ilya Dryomov Cc: ceph-devel@vger.kernel.org Signed-off-by: Christian Brauner Signed-off-by: Alexander Mikhalitsyn --- fs/ceph/inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index 2e988612ed6c..37e1cbfc7c89 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c @@ -2408,7 +2408,7 @@ int ceph_permission(struct mnt_idmap *idmap, struct i= node *inode, err =3D ceph_do_getattr(inode, CEPH_CAP_AUTH_SHARED, false); =20 if (!err) - err =3D generic_permission(&nop_mnt_idmap, inode, mask); + err =3D generic_permission(idmap, inode, mask); return err; } =20 --=20 2.34.1 From nobody Sun Feb 8 21:09:46 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 51244C7EE23 for ; Wed, 7 Jun 2023 18:11:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229532AbjFGSLe (ORCPT ); Wed, 7 Jun 2023 14:11:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56214 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232724AbjFGSLG (ORCPT ); Wed, 7 Jun 2023 14:11:06 -0400 Received: from smtp-relay-internal-1.canonical.com (smtp-relay-internal-1.canonical.com [185.125.188.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2AE8E2134 for ; Wed, 7 Jun 2023 11:10:57 -0700 (PDT) Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id E92A53F154 for ; Wed, 7 Jun 2023 18:10:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1686161456; bh=UUJj01wMEQ1oyKBsNssb6jfIoqp09AUl4ugwx+FKVfQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Hq0kB59sRYMjrqNsRvWrTlHaLRcN3nDEXcmeD1l0p9mW1iKJzyFyX3M/qz1AZv7ub yLzYZSoMLPn55RAVtS9bM80D3Q9LClAXj7ndvig1KObXeEeZyZoXuRVCpcurYyxKAW 35FmF0Y9XOq4W09n0nvvkeXUuUyPxlCWHDmt7o/ncFPHnyPtxSRrKhQYcodDOkSyln GWLcuX+hjxVWMiIqICtmoOprS/KTu0DlxnPZmfy5CDWI8ZtIFZ1L7nGpDb44z/0GNN F8+8fyH+/z/XtVbZ35RT/yUAwneeTafwE29aRxZ0of3AyUQ/cWTh75guTQjji+2zeY qQpl1fiGK6UJA== Received: by mail-ej1-f72.google.com with SMTP id a640c23a62f3a-94a34a0b75eso572925066b.1 for ; Wed, 07 Jun 2023 11:10:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686161455; x=1688753455; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UUJj01wMEQ1oyKBsNssb6jfIoqp09AUl4ugwx+FKVfQ=; b=Ogdf/ebwEUOHkHDwDUUm/VB/xc7XlhqJzUkcc8kWGrmMic9KZ4Rca+RlYdy3D+LRzx AmErZrhkbe8VuYjJSaiIFUbmNplmGW5+jguRTgJOwxTijh1IkR+QzOSWk1vIJFqVpmI4 x3v+R3VFNo/h7Q3I7cKSNRoerS1CkdfZokJHKaXkdmPMmCIGenof0eH+E0HL4bQI1MDj ykr/bfUF74yqwY+Pe+2hQ7F2lUAAuLsb0lLx3AFBKibbl3FCTtFe0kGl82+OWklsNz1B YEmQs+ktoKZby6ZWeIMtKL3MtdILHhVHpwmgCNb3wMDYynBJAOe4I0LVP3Vt9XJd8Fk7 wixw== X-Gm-Message-State: AC+VfDxR25lEhr5i18VGVYbvaLeo1cU1OEOIcW5DoI3zbDv6grRnG1ot vKCbmFl01W4oN1bZqbk2IOQt2lg6uwUa88NdAgyFB7dZzTz4659i4GpP5NVNEaHDf+4lF02xLqy L4Qm4VIMgRRJdBPxFz6YWOR9LvDTywQ2rDDHjgzOV4w== X-Received: by 2002:a17:907:7e9e:b0:974:52e6:93cb with SMTP id qb30-20020a1709077e9e00b0097452e693cbmr8404014ejc.50.1686161455769; Wed, 07 Jun 2023 11:10:55 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5QyWGLJ/fh/AxvEp9QlmkvfHipFfD/nqgbmvpynD+HDDoDC1eMF5jNtJoBqxoAcOKrhPegiA== X-Received: by 2002:a17:907:7e9e:b0:974:52e6:93cb with SMTP id qb30-20020a1709077e9e00b0097452e693cbmr8404003ejc.50.1686161455569; Wed, 07 Jun 2023 11:10:55 -0700 (PDT) Received: from amikhalitsyn.local (dslb-002-205-064-187.002.205.pools.vodafone-ip.de. [2.205.64.187]) by smtp.gmail.com with ESMTPSA id oz17-20020a170906cd1100b009745edfb7cbsm7170494ejb.45.2023.06.07.11.10.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 11:10:55 -0700 (PDT) From: Alexander Mikhalitsyn To: xiubli@redhat.com Cc: brauner@kernel.org, stgraber@ubuntu.com, linux-fsdevel@vger.kernel.org, Alexander Mikhalitsyn , Jeff Layton , Ilya Dryomov , ceph-devel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 10/14] ceph: pass idmap to __ceph_setattr Date: Wed, 7 Jun 2023 20:09:53 +0200 Message-Id: <20230607180958.645115-11-aleksandr.mikhalitsyn@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> References: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Just pass down the mount's idmapping to __ceph_setattr, because we will need it later. Cc: Xiubo Li Cc: Jeff Layton Cc: Ilya Dryomov Cc: brauner@kernel.org Cc: ceph-devel@vger.kernel.org Signed-off-by: Alexander Mikhalitsyn --- fs/ceph/acl.c | 4 ++-- fs/ceph/inode.c | 5 +++-- fs/ceph/super.h | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/fs/ceph/acl.c b/fs/ceph/acl.c index 6945a938d396..51ffef848429 100644 --- a/fs/ceph/acl.c +++ b/fs/ceph/acl.c @@ -140,7 +140,7 @@ int ceph_set_acl(struct mnt_idmap *idmap, struct dentry= *dentry, newattrs.ia_ctime =3D current_time(inode); newattrs.ia_mode =3D new_mode; newattrs.ia_valid =3D ATTR_MODE | ATTR_CTIME; - ret =3D __ceph_setattr(inode, &newattrs); + ret =3D __ceph_setattr(idmap, inode, &newattrs); if (ret) goto out_free; } @@ -151,7 +151,7 @@ int ceph_set_acl(struct mnt_idmap *idmap, struct dentry= *dentry, newattrs.ia_ctime =3D old_ctime; newattrs.ia_mode =3D old_mode; newattrs.ia_valid =3D ATTR_MODE | ATTR_CTIME; - __ceph_setattr(inode, &newattrs); + __ceph_setattr(idmap, inode, &newattrs); } goto out_free; } diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index 37e1cbfc7c89..bcd9b506ec3b 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c @@ -2009,7 +2009,8 @@ static const struct inode_operations ceph_symlink_iop= s =3D { .listxattr =3D ceph_listxattr, }; =20 -int __ceph_setattr(struct inode *inode, struct iattr *attr) +int __ceph_setattr(struct mnt_idmap *idmap, struct inode *inode, + struct iattr *attr) { struct ceph_inode_info *ci =3D ceph_inode(inode); unsigned int ia_valid =3D attr->ia_valid; @@ -2252,7 +2253,7 @@ int ceph_setattr(struct mnt_idmap *idmap, struct dent= ry *dentry, ceph_quota_is_max_bytes_exceeded(inode, attr->ia_size)) return -EDQUOT; =20 - err =3D __ceph_setattr(inode, attr); + err =3D __ceph_setattr(idmap, inode, attr); =20 if (err >=3D 0 && (attr->ia_valid & ATTR_MODE)) err =3D posix_acl_chmod(&nop_mnt_idmap, dentry, attr->ia_mode); diff --git a/fs/ceph/super.h b/fs/ceph/super.h index d24bf0db5234..d9cc27307cb7 100644 --- a/fs/ceph/super.h +++ b/fs/ceph/super.h @@ -1052,7 +1052,8 @@ static inline int ceph_do_getattr(struct inode *inode= , int mask, bool force) } extern int ceph_permission(struct mnt_idmap *idmap, struct inode *inode, int mask); -extern int __ceph_setattr(struct inode *inode, struct iattr *attr); +extern int __ceph_setattr(struct mnt_idmap *idmap, struct inode *inode, + struct iattr *attr); extern int ceph_setattr(struct mnt_idmap *idmap, struct dentry *dentry, struct iattr *attr); extern int ceph_getattr(struct mnt_idmap *idmap, --=20 2.34.1 From nobody Sun Feb 8 21:09:46 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9A0D7C87FDD for ; Wed, 7 Jun 2023 18:11:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232793AbjFGSLm (ORCPT ); Wed, 7 Jun 2023 14:11:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56252 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232771AbjFGSLI (ORCPT ); Wed, 7 Jun 2023 14:11:08 -0400 Received: from smtp-relay-internal-1.canonical.com (smtp-relay-internal-1.canonical.com [185.125.188.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F1BAE2683 for ; Wed, 7 Jun 2023 11:10:59 -0700 (PDT) Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 540F73F194 for ; Wed, 7 Jun 2023 18:10:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1686161458; bh=upOvs6cNJRBF+ODdi690KD6aHJ8m7WaiezvTCZyfSFA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=EXM9cTb2oIFgruKH3+yuFx/cTFCA67lrVeEVlg51dXgwDK0IFYmbB3wmVsojkEed/ jcQhWL5DwwIvwRH+fkpYUWh33npch8VQbxVr6BcEnE1Jj++Koc2Y87PoLdkUsQXFu/ UdGzJMW+CgoiB9NA28uxPk8fKnOiDxkYzkJGiHWXuNfF/XJoDVIQTDA5moME9s76BX 7Tpaox/UF5prRb0s9f8OCEPcGXrKEb96cD9uOPX5vitQ884h0FOQkZiqi7UavNrMlW mATnsOCh+KmUFsj7Ne6rAmXbSSdnGBVBM6+4uMJEd9EhIsgtDiDdkaMQBu+nNB6htg 6sxGiH9mGZW0g== Received: by mail-ej1-f70.google.com with SMTP id a640c23a62f3a-97888a89775so74662066b.0 for ; Wed, 07 Jun 2023 11:10:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686161458; x=1688753458; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=upOvs6cNJRBF+ODdi690KD6aHJ8m7WaiezvTCZyfSFA=; b=CBwgkoFEPhXsB9nXdW+DyXgu9DKn4z5Jihja0Qq+5MnmGgvDmFHlqDMWX+bYfc9HkW RJpmHXhKtGyh58FcYXGasAO9weLTlmCjpvJJbzaA6OPDSj7JxcZX2czrqehOrMDKcu3K umCKM2GuVvM3ip7I62uzkkPdmgE78qvEGGOB6s04UxLA9b9LwkaAlBWXA70KRCfDXRIC /3un94daXrgOvVx9SG1hyHKKNx2WBS9vMXOTazQ2EdI8VroJWLlUBw//8UG5n4q4q1r0 YlgcaF28GRHnJStyPGq7BGFW402jgCStifKtl4DZE6LwqxCSbNJFyA1gZGipOOy+Vbz8 n6bQ== X-Gm-Message-State: AC+VfDwZ1nNtpAoHoeI8ZD8Zo4su/Mdn/2idNyFKsndCqkO7768B7bqw G/lwHqnJjFzFgJTHzvctDPgUdVYKHnxcTGprBZW5hSLh7qfvw2gWJ+PSzsRjT29SyvH8armaEhK m57YMQ2lgjBxIZZFaNtSSXzinTOVZ9icBfyI9GdGylw== X-Received: by 2002:a17:907:1687:b0:96f:d345:d104 with SMTP id hc7-20020a170907168700b0096fd345d104mr8799381ejc.38.1686161458013; Wed, 07 Jun 2023 11:10:58 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6QoESNX2izdSFLKQWMWvnXZssKwKUI4czDAd1i3v2k99ChaC1wwq77PMB4DrAQyTJe7ndMPw== X-Received: by 2002:a17:907:1687:b0:96f:d345:d104 with SMTP id hc7-20020a170907168700b0096fd345d104mr8799368ejc.38.1686161457854; Wed, 07 Jun 2023 11:10:57 -0700 (PDT) Received: from amikhalitsyn.local (dslb-002-205-064-187.002.205.pools.vodafone-ip.de. [2.205.64.187]) by smtp.gmail.com with ESMTPSA id oz17-20020a170906cd1100b009745edfb7cbsm7170494ejb.45.2023.06.07.11.10.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 11:10:57 -0700 (PDT) From: Alexander Mikhalitsyn To: xiubli@redhat.com Cc: brauner@kernel.org, stgraber@ubuntu.com, linux-fsdevel@vger.kernel.org, Christian Brauner , Jeff Layton , Ilya Dryomov , ceph-devel@vger.kernel.org, Alexander Mikhalitsyn , linux-kernel@vger.kernel.org Subject: [PATCH v4 11/14] ceph: allow idmapped setattr inode op Date: Wed, 7 Jun 2023 20:09:54 +0200 Message-Id: <20230607180958.645115-12-aleksandr.mikhalitsyn@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> References: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Christian Brauner Enable __ceph_setattr() to handle idmapped mounts. This is just a matter of passing down the mount's idmapping. Cc: Xiubo Li Cc: Jeff Layton Cc: Ilya Dryomov Cc: ceph-devel@vger.kernel.org Signed-off-by: Christian Brauner [ adapted to b27c82e12965 ("attr: port attribute changes to new types") ] Signed-off-by: Alexander Mikhalitsyn --- v4: - introduced fsuid/fsgid local variables v3: - reworked as Christian suggested here: https://lore.kernel.org/lkml/20230602-vorzeichen-praktikum-f17931692301@br= auner/ --- fs/ceph/inode.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index bcd9b506ec3b..ca438d1353b2 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c @@ -2052,31 +2052,35 @@ int __ceph_setattr(struct mnt_idmap *idmap, struct = inode *inode, dout("setattr %p issued %s\n", inode, ceph_cap_string(issued)); =20 if (ia_valid & ATTR_UID) { + kuid_t fsuid =3D from_vfsuid(idmap, i_user_ns(inode), attr->ia_vfsuid); + dout("setattr %p uid %d -> %d\n", inode, from_kuid(&init_user_ns, inode->i_uid), from_kuid(&init_user_ns, attr->ia_uid)); if (issued & CEPH_CAP_AUTH_EXCL) { - inode->i_uid =3D attr->ia_uid; + inode->i_uid =3D fsuid; dirtied |=3D CEPH_CAP_AUTH_EXCL; } else if ((issued & CEPH_CAP_AUTH_SHARED) =3D=3D 0 || - !uid_eq(attr->ia_uid, inode->i_uid)) { + !uid_eq(fsuid, inode->i_uid)) { req->r_args.setattr.uid =3D cpu_to_le32( - from_kuid(&init_user_ns, attr->ia_uid)); + from_kuid(&init_user_ns, fsuid)); mask |=3D CEPH_SETATTR_UID; release |=3D CEPH_CAP_AUTH_SHARED; } } if (ia_valid & ATTR_GID) { + kgid_t fsgid =3D from_vfsgid(idmap, i_user_ns(inode), attr->ia_vfsgid); + dout("setattr %p gid %d -> %d\n", inode, from_kgid(&init_user_ns, inode->i_gid), from_kgid(&init_user_ns, attr->ia_gid)); if (issued & CEPH_CAP_AUTH_EXCL) { - inode->i_gid =3D attr->ia_gid; + inode->i_gid =3D fsgid; dirtied |=3D CEPH_CAP_AUTH_EXCL; } else if ((issued & CEPH_CAP_AUTH_SHARED) =3D=3D 0 || - !gid_eq(attr->ia_gid, inode->i_gid)) { + !gid_eq(fsgid, inode->i_gid)) { req->r_args.setattr.gid =3D cpu_to_le32( - from_kgid(&init_user_ns, attr->ia_gid)); + from_kgid(&init_user_ns, fsgid)); mask |=3D CEPH_SETATTR_GID; release |=3D CEPH_CAP_AUTH_SHARED; } @@ -2241,7 +2245,7 @@ int ceph_setattr(struct mnt_idmap *idmap, struct dent= ry *dentry, if (ceph_inode_is_shutdown(inode)) return -ESTALE; =20 - err =3D setattr_prepare(&nop_mnt_idmap, dentry, attr); + err =3D setattr_prepare(idmap, dentry, attr); if (err !=3D 0) return err; =20 @@ -2256,7 +2260,7 @@ int ceph_setattr(struct mnt_idmap *idmap, struct dent= ry *dentry, err =3D __ceph_setattr(idmap, inode, attr); =20 if (err >=3D 0 && (attr->ia_valid & ATTR_MODE)) - err =3D posix_acl_chmod(&nop_mnt_idmap, dentry, attr->ia_mode); + err =3D posix_acl_chmod(idmap, dentry, attr->ia_mode); =20 return err; } --=20 2.34.1 From nobody Sun Feb 8 21:09:46 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B346FC87FDE for ; Wed, 7 Jun 2023 18:11:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232836AbjFGSLr (ORCPT ); Wed, 7 Jun 2023 14:11:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56362 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232786AbjFGSLI (ORCPT ); Wed, 7 Jun 2023 14:11:08 -0400 Received: from smtp-relay-internal-0.canonical.com (smtp-relay-internal-0.canonical.com [185.125.188.122]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 65EF5198B for ; Wed, 7 Jun 2023 11:11:02 -0700 (PDT) Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id B15C33F160 for ; Wed, 7 Jun 2023 18:11:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1686161460; bh=/It8VSgZDTEKktJxHTMOOJHpvqL0RXNtakCJDr6cWYA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Nf564hL3HighSIb53MZUbtQlmqRjV+eRENOiOgIVAY7A2mjoGJN93AKLatnzhf5T2 e0MlSLjS/vzjLVq0qApp3Hx9nw31e1ym3MnX1K9AUx98zi/BA2qInQxDzcWceQMsAX wkEp73eDf0cF2fRc8QQMUo50Z+dU41BR2gQxjSsKgzhQNXE/S252bWdce6jsSWhRqu qDGzovcY7iOtXu6izU1u+yDXOLzXgX6uMmYMu062MkLwf1sOnc8Hn88nnxFLUD1WWR V0DsQCWMZhvCm8TWjWrdJrkthNsDM9Wkq/gWbx16S15yq1JO7RrFsU3Jw2L3xMj6mN p8+3AnEW7+yyg== Received: by mail-ej1-f70.google.com with SMTP id a640c23a62f3a-977c516686aso503056466b.1 for ; Wed, 07 Jun 2023 11:11:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686161460; x=1688753460; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/It8VSgZDTEKktJxHTMOOJHpvqL0RXNtakCJDr6cWYA=; b=EZKATKUZ5pgFsxemmZzeNznGyRaThgda6Ony28IN2LdnJK5Wgf4ZhD3Uevf7ccInFm ODxnLKYa9L3DBE+h9zpEtq8BF7M1tvSmrBjqc/4CbgsFuZpiOGwvEMCOxsnQW94ODOFP Hsh38OWXH35hslcamFK0I+DeHco5NO9Zg+luKkVIl3QMV+AVf9eAu+SePtJHlPoKDnug Cof3F59X6X0HLC9ESrBAoDn34Vy2BFZIkmuOuUzDc2GkDVjvvB9S3j6WDs4XqmesA5be 1z2+8+ZOX+1tbFMCjFCDpJZiRUmHJ0WhkC9xNWKj+jITetxCGPx3bLUB6xKszWK+rvuu E/Sw== X-Gm-Message-State: AC+VfDyADx0Yx+0qkF7L0JdQlZ2ZNtkai8IBSTV5cUhYErP3nBfTex/d xGy8DJRz0TavGgur1FM3C3yPl1yzlRoNXjstlI9bJHq2+bjVhuq/KkELXkc94Ty60n1o+MXYO5r 9Pgb3nZBiwI29JqS9twvCDeSKis1S+F1aAECpdIJOoQ== X-Received: by 2002:a17:907:3e1e:b0:96f:b58e:7e21 with SMTP id hp30-20020a1709073e1e00b0096fb58e7e21mr7447663ejc.52.1686161460430; Wed, 07 Jun 2023 11:11:00 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6E8Zoczui2SA997DiFkrKyZP1txEaL4imA8LjlOgAING0rY1a/TfTWY9iSvaNKd09APPPgiw== X-Received: by 2002:a17:907:3e1e:b0:96f:b58e:7e21 with SMTP id hp30-20020a1709073e1e00b0096fb58e7e21mr7447637ejc.52.1686161460189; Wed, 07 Jun 2023 11:11:00 -0700 (PDT) Received: from amikhalitsyn.local (dslb-002-205-064-187.002.205.pools.vodafone-ip.de. [2.205.64.187]) by smtp.gmail.com with ESMTPSA id oz17-20020a170906cd1100b009745edfb7cbsm7170494ejb.45.2023.06.07.11.10.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 11:10:59 -0700 (PDT) From: Alexander Mikhalitsyn To: xiubli@redhat.com Cc: brauner@kernel.org, stgraber@ubuntu.com, linux-fsdevel@vger.kernel.org, Christian Brauner , Jeff Layton , Ilya Dryomov , ceph-devel@vger.kernel.org, Alexander Mikhalitsyn , linux-kernel@vger.kernel.org Subject: [PATCH v4 12/14] ceph/acl: allow idmapped set_acl inode op Date: Wed, 7 Jun 2023 20:09:55 +0200 Message-Id: <20230607180958.645115-13-aleksandr.mikhalitsyn@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> References: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Christian Brauner Enable ceph_set_acl() to handle idmapped mounts. This is just a matter of passing down the mount's idmapping. Cc: Xiubo Li Cc: Jeff Layton Cc: Ilya Dryomov Cc: ceph-devel@vger.kernel.org Signed-off-by: Christian Brauner Signed-off-by: Alexander Mikhalitsyn --- fs/ceph/acl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/ceph/acl.c b/fs/ceph/acl.c index 51ffef848429..d0ca5a0060d8 100644 --- a/fs/ceph/acl.c +++ b/fs/ceph/acl.c @@ -105,7 +105,7 @@ int ceph_set_acl(struct mnt_idmap *idmap, struct dentry= *dentry, case ACL_TYPE_ACCESS: name =3D XATTR_NAME_POSIX_ACL_ACCESS; if (acl) { - ret =3D posix_acl_update_mode(&nop_mnt_idmap, inode, + ret =3D posix_acl_update_mode(idmap, inode, &new_mode, &acl); if (ret) goto out; --=20 2.34.1 From nobody Sun Feb 8 21:09:46 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2CE3C87FDC for ; Wed, 7 Jun 2023 18:11:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232888AbjFGSLu (ORCPT ); Wed, 7 Jun 2023 14:11:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56230 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232822AbjFGSLK (ORCPT ); Wed, 7 Jun 2023 14:11:10 -0400 Received: from smtp-relay-internal-0.canonical.com (smtp-relay-internal-0.canonical.com [185.125.188.122]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3AF681FE0 for ; Wed, 7 Jun 2023 11:11:05 -0700 (PDT) Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id B18733F15A for ; Wed, 7 Jun 2023 18:11:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1686161462; bh=Q8ymt4aVYk7+c3UhjbPSUCbNsUrFX+gS8T8907goBG0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=tsLYUKSii5zxtQ5kKmxikcnkrgLlRShfTyUE6e61a+5VuR1S6Isp41BE4bTGGXazQ 8Vd0UkZU1An400qfxwlpaa8zwBLqlsF4D/uNkw6n/GAZtFGpFAp9DiTE0VK6SwPijF hkCLeJEXcgx+SUpb1JADnGsROAd81JELj4QfCvB2xl9djQPIaUQijsKHEHRumJDitk UO0ygbfHj9fRBJJsHCrBfPlVm1UsU8WEC3goJ6TPX/q3WG4iCynpNYC5X008sMaYCB 3eYEcrzbJawHtqyvhapRWd8/txOxG6OE0K7IRYXESVpj05rR7qjd6haNoQSR3Jj/dX AdANcN6QDyyaQ== Received: by mail-ej1-f72.google.com with SMTP id a640c23a62f3a-97467e06580so610507366b.1 for ; Wed, 07 Jun 2023 11:11:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686161462; x=1688753462; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Q8ymt4aVYk7+c3UhjbPSUCbNsUrFX+gS8T8907goBG0=; b=E01TpCkJDdoQ42XRQBYriBH1ErO2nPEpGevPHxqSHLwoBSxqnLhJmBmR2a9XXMvyMB /0v69k07RYJKqLt3WdaHWxIZ5Fp2ESU1UYrz9WJy+9wU0pbAu7tVZMDl4D4g0atS1OQh 8hpHEZX89Cl86BaEJMiYvB+IGxXohggFoLF9i6uiTg4GcLdDlqAVnlSte9vpRcjpjdmb MW+4iNUPHZMS0VyOFtQqmTgbtqu6lhMZrCr7Vn5k5ZZ+Q16uVc2yBO+Q8tvl69yi9TN+ YC7I9dBz3x2wQNKvQACA7eUEtiAY2B/PfsdpU+MALsL3e9iSlscUsf5fy2ubFgkole8C V5Og== X-Gm-Message-State: AC+VfDyBUOGZXgTEaljzPyivEagOdjzNo1JqI/8STvq8OLja91jURzPR xMKc0FzmRhfie2lhnlTUXuYZvaFEf0SmYa2xPlvRDSgV4v5pdSTQR9kfTP8T70zKykgdxfSeZFk Ul1FFJYuGwI2SPPvAnWEwfdQFSTfdn3OR33+29jPirg== X-Received: by 2002:a17:907:7f1f:b0:974:55ea:1ad8 with SMTP id qf31-20020a1709077f1f00b0097455ea1ad8mr7592633ejc.63.1686161462569; Wed, 07 Jun 2023 11:11:02 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5AO95yaH2w6TNG96NHW4iHdRlf1vZtWQEuXgXYJPWouo+o/lvalFHXgEOHSNKj0+5C3pDw1w== X-Received: by 2002:a17:907:7f1f:b0:974:55ea:1ad8 with SMTP id qf31-20020a1709077f1f00b0097455ea1ad8mr7592617ejc.63.1686161462384; Wed, 07 Jun 2023 11:11:02 -0700 (PDT) Received: from amikhalitsyn.local (dslb-002-205-064-187.002.205.pools.vodafone-ip.de. [2.205.64.187]) by smtp.gmail.com with ESMTPSA id oz17-20020a170906cd1100b009745edfb7cbsm7170494ejb.45.2023.06.07.11.11.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 11:11:01 -0700 (PDT) From: Alexander Mikhalitsyn To: xiubli@redhat.com Cc: brauner@kernel.org, stgraber@ubuntu.com, linux-fsdevel@vger.kernel.org, Christian Brauner , Jeff Layton , Ilya Dryomov , ceph-devel@vger.kernel.org, Alexander Mikhalitsyn , linux-kernel@vger.kernel.org Subject: [PATCH v4 13/14] ceph/file: allow idmapped atomic_open inode op Date: Wed, 7 Jun 2023 20:09:56 +0200 Message-Id: <20230607180958.645115-14-aleksandr.mikhalitsyn@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> References: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Christian Brauner Enable ceph_atomic_open() to handle idmapped mounts. This is just a matter of passing down the mount's idmapping. Cc: Xiubo Li Cc: Jeff Layton Cc: Ilya Dryomov Cc: ceph-devel@vger.kernel.org Signed-off-by: Christian Brauner [ adapted to 5fadbd9929 ("ceph: rely on vfs for setgid stripping") ] Signed-off-by: Alexander Mikhalitsyn --- v4: - call mnt_idmap_get --- fs/ceph/file.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/fs/ceph/file.c b/fs/ceph/file.c index f4d8bf7dec88..d46b6b8b5fcb 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c @@ -654,7 +654,9 @@ static int ceph_finish_async_create(struct inode *dir, = struct dentry *dentry, in.truncate_seq =3D cpu_to_le32(1); in.truncate_size =3D cpu_to_le64(-1ULL); in.xattr_version =3D cpu_to_le64(1); - in.uid =3D cpu_to_le32(from_kuid(&init_user_ns, current_fsuid())); + in.uid =3D cpu_to_le32(from_kuid(&init_user_ns, + mapped_fsuid(req->r_mnt_idmap, + &init_user_ns))); if (dir->i_mode & S_ISGID) { in.gid =3D cpu_to_le32(from_kgid(&init_user_ns, dir->i_gid)); =20 @@ -662,7 +664,9 @@ static int ceph_finish_async_create(struct inode *dir, = struct dentry *dentry, if (S_ISDIR(mode)) mode |=3D S_ISGID; } else { - in.gid =3D cpu_to_le32(from_kgid(&init_user_ns, current_fsgid())); + in.gid =3D cpu_to_le32(from_kgid(&init_user_ns, + mapped_fsgid(req->r_mnt_idmap, + &init_user_ns))); } in.mode =3D cpu_to_le32((u32)mode); =20 @@ -731,6 +735,7 @@ int ceph_atomic_open(struct inode *dir, struct dentry *= dentry, struct file *file, unsigned flags, umode_t mode) { struct ceph_fs_client *fsc =3D ceph_sb_to_client(dir->i_sb); + struct mnt_idmap *idmap =3D file_mnt_idmap(file); struct ceph_mds_client *mdsc =3D fsc->mdsc; struct ceph_mds_request *req; struct dentry *dn; @@ -786,6 +791,7 @@ int ceph_atomic_open(struct inode *dir, struct dentry *= dentry, mask |=3D CEPH_CAP_XATTR_SHARED; req->r_args.open.mask =3D cpu_to_le32(mask); req->r_parent =3D dir; + req->r_mnt_idmap =3D mnt_idmap_get(idmap); ihold(dir); =20 if (flags & O_CREAT) { --=20 2.34.1 From nobody Sun Feb 8 21:09:46 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CD956C7EE25 for ; Wed, 7 Jun 2023 18:11:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229968AbjFGSLz (ORCPT ); Wed, 7 Jun 2023 14:11:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56010 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232845AbjFGSLK (ORCPT ); Wed, 7 Jun 2023 14:11:10 -0400 Received: from smtp-relay-internal-1.canonical.com (smtp-relay-internal-1.canonical.com [185.125.188.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 728201FE6 for ; Wed, 7 Jun 2023 11:11:07 -0700 (PDT) Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 6C2693F19A for ; Wed, 7 Jun 2023 18:11:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1686161465; bh=sitF6aKufbc7DklTCjus/+uMnJoHcKEt7G8gHEJda3g=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=N7NNSLDJ2nftMuH2rWNI4p0YhHM5oYWx8agupH1lFLGYd1MM3feMEGYucrtbpmvQa fTQhi9NB/mE/H2zLuCPHSIixNJHs4TXTQsQSbR9vQJQfoZVpDfSjkXAYEDVelxumT7 ONwT8AaBiW0WJpv0+SC1BATzfZV27zu6MQ4kRQv6EMX11w2bi2F0VG7MqRyJlo0W05 00AxeXQsSvyfzA2ptRduOjOtXSJGehDk1vH4v88Um6jY/TkTnLXpmx1w2wDibGk1/2 7tHTRlGqWuO6SAD77WBisl3TC2jn+wrKciiBJLx/p37o7TJYxOgvSRYw5XBz42QpuU oM3esVZOPQ6Ew== Received: by mail-ed1-f71.google.com with SMTP id 4fb4d7f45d1cf-50a16ab50e6so1060370a12.0 for ; Wed, 07 Jun 2023 11:11:05 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686161465; x=1688753465; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sitF6aKufbc7DklTCjus/+uMnJoHcKEt7G8gHEJda3g=; b=UJm4fcf7vUUjFnQSGcQO6bNtooPHwp3vTyq5waXEV75IAaa3yqLk4aWiYOpdGSWGzn DvH7A6KXqStH+Q42UY8Ig/d+risMoXyae7FIiwBQqzT8abbz5YVOeaSlPqPGm8XrPhdc lt6Jg6zVA/o/NYtro2WNUdPs3GBKZghzdu1Yzs3BUgY6PaZNaE27+1feWzooCYZw9pBd +elk9ORAVyHaOV6i5frDn+P8XNWaEc1B4ac7sqE1U44c/jbR5+rrmMBW+RM66DSjnSwV xUBskheqqxz222/0K2KAVzZl6bxX7pqSYiwcDZgK0YK10nK19xzzEDtirkAwklJ3E6g1 Dn2w== X-Gm-Message-State: AC+VfDwzqSWk+k2H9N9e35F29HX1L+k6Peb6JPse5gX7b8TdxD+dF6Qn jZwRq+ibwpvLdqp+4SJiT+NK6vt37MN5RqFWhNpRCjRq9AB4deO1cS+XfnyhDdTk6JIrkYg2QAl WyZ/bly6df5ByNAyvEDzUWYv1wpbS0HdgqSwmlIMCHQ== X-Received: by 2002:a17:907:3f9a:b0:96f:8666:5fc4 with SMTP id hr26-20020a1709073f9a00b0096f86665fc4mr8344028ejc.50.1686161464806; Wed, 07 Jun 2023 11:11:04 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7nkVS7ZYAZ2Uqeu+xxXRJBqJNHMUbuyQOiZzF6LyCbvyOJsxfiv60u5P1yL7Rjjj7ZaBQFEg== X-Received: by 2002:a17:907:3f9a:b0:96f:8666:5fc4 with SMTP id hr26-20020a1709073f9a00b0096f86665fc4mr8344006ejc.50.1686161464604; Wed, 07 Jun 2023 11:11:04 -0700 (PDT) Received: from amikhalitsyn.local (dslb-002-205-064-187.002.205.pools.vodafone-ip.de. [2.205.64.187]) by smtp.gmail.com with ESMTPSA id oz17-20020a170906cd1100b009745edfb7cbsm7170494ejb.45.2023.06.07.11.11.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 11:11:04 -0700 (PDT) From: Alexander Mikhalitsyn To: xiubli@redhat.com Cc: brauner@kernel.org, stgraber@ubuntu.com, linux-fsdevel@vger.kernel.org, Christian Brauner , Jeff Layton , Ilya Dryomov , ceph-devel@vger.kernel.org, Alexander Mikhalitsyn , linux-kernel@vger.kernel.org Subject: [PATCH v4 14/14] ceph: allow idmapped mounts Date: Wed, 7 Jun 2023 20:09:57 +0200 Message-Id: <20230607180958.645115-15-aleksandr.mikhalitsyn@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> References: <20230607180958.645115-1-aleksandr.mikhalitsyn@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Christian Brauner Now that we converted cephfs internally to account for idmapped mounts allow the creation of idmapped mounts on by setting the FS_ALLOW_IDMAP flag. Cc: Xiubo Li Cc: Jeff Layton Cc: Ilya Dryomov Cc: ceph-devel@vger.kernel.org Signed-off-by: Christian Brauner Signed-off-by: Alexander Mikhalitsyn --- fs/ceph/super.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/ceph/super.c b/fs/ceph/super.c index 3fc48b43cab0..4f6e6d57f3f1 100644 --- a/fs/ceph/super.c +++ b/fs/ceph/super.c @@ -1389,7 +1389,7 @@ static struct file_system_type ceph_fs_type =3D { .name =3D "ceph", .init_fs_context =3D ceph_init_fs_context, .kill_sb =3D ceph_kill_sb, - .fs_flags =3D FS_RENAME_DOES_D_MOVE, + .fs_flags =3D FS_RENAME_DOES_D_MOVE | FS_ALLOW_IDMAP, }; MODULE_ALIAS_FS("ceph"); =20 --=20 2.34.1