From mboxrd@z Thu Jan 1 00:00:00 1970 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 37AA1C77B6E for ; Wed, 12 Apr 2023 09:55:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A52D9900003; Wed, 12 Apr 2023 05:55:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A025C900002; Wed, 12 Apr 2023 05:55:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8F246900003; Wed, 12 Apr 2023 05:55:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 827CC900002 for ; Wed, 12 Apr 2023 05:55:42 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 16AB1145E07 for ; Wed, 12 Apr 2023 09:44:41 +0000 (UTC) X-FDA: 80672254362.08.AB93F54 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf24.hostedemail.com (Postfix) with ESMTP id 5B72818000C for ; Wed, 12 Apr 2023 09:44:39 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="iq1KfR/3"; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf24.hostedemail.com: domain of cem@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=cem@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681292679; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ICtKrS2tD7u79IVKz7Fv1xbTcp6ovrVhOsztf/DbByI=; b=XmwMynmhTEgEPPTPjhEG+89lWz8oiV1LHUbxJ86RQiOzM4FACA7MxbV+ENDXjynWT65+2Y FBivKFGEcsgyQThbqgcjAz9vhelCKO850wGVRIZwhL11NG/8m5f2JQXq1OzJduvbiQ+cs8 c02g2aoicZ4bPMLUbSk7g9goR8qrmNw= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="iq1KfR/3"; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf24.hostedemail.com: domain of cem@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=cem@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681292679; a=rsa-sha256; cv=none; b=ocQTZVCi7yAr72Ua2cT5FFtAtBdXeKyjc2fgt4Kq9L7cengTl1VGFOG/S5A1qScFTXz5Ny i8TBmHubVezMmlgwx93Bx8l2BExHU3Y+YokgScAzqi++EdCSH5EWsxj89ug5OyFv/v3Pg6 ukAF3MjcxBSePY8ipmjFpOQPseGmZHc= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 68A8063208; Wed, 12 Apr 2023 09:44:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6B8DAC4339B; Wed, 12 Apr 2023 09:44:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1681292677; bh=nCmFY+qDV6ZYrQbcRhBQpIZydqqv+V7F/dGcomHCuyQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=iq1KfR/3mjMH/vzKlMlBl+gHjvyX/1qyOBroZxiXBVxFd+UsYBYEtaC80GlcgJ4rB Nm4VhAwqC9sJTJelmFS1U5qfLwzoZOHlryzPZGBJx5ZQyKWqdk9ng3lRpqc3wTZ1HT yuvaD+hiYv7bBeBBRYnTyLf5gSIQY9ZihnEHF4fSDILsKBKWDOKLD5knxWHLcYL2T5 qiXkCjp+TGOJMh+OnLTcI/uRreINZapBtpqBgjoToBZXXLC6l8XFHO4VdgabNYDa0m qt4JT4eJCSRmIc+yvEZg71PWh0lrvtnA7nU75fbNJ9yWXRLw1DJX1ZWiAI2tD8o8oP yIJFq7U3zZBSg== Date: Wed, 12 Apr 2023 11:44:32 +0200 From: Carlos Maiolino To: Jan Kara Cc: hughd@google.com, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, djwong@kernel.org Subject: Re: [PATCH 4/6] shmem: prepare shmem quota infrastructure Message-ID: <20230412094432.p5x3sjolu7tbn5g7@andromeda> References: <20230403084759.884681-1-cem@kernel.org> <20230403084759.884681-5-cem@kernel.org> <4sn9HjMu80MnoBrnTf2T-G0QFQc9QOwiM7e6ahvv7dZ0N6lpoMY-NTul3DgbNZF08r69V6BuAQI1QcdSzdAFKQ==@protonmail.internalid> <20230404123442.kettrnpmumpzc2da@quack3> <20230404134836.blwy3mfhl3n2bfyj@andromeda> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230404134836.blwy3mfhl3n2bfyj@andromeda> X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 5B72818000C X-Stat-Signature: 1saafkmguuymyzn93tn9x7ww5yr1bom6 X-HE-Tag: 1681292679-105168 X-HE-Meta: U2FsdGVkX1+qX5mxfGrn6FpUSXQKtLqSb7kfPaPef5TcYbGE41sG8lRQt7/neqdJShwvMfO/c4kjkJVrplJRsY4CfLdz3bupt5kVnNWkNc+XP7m5xwCdbrORWIzrUm0bErKfNqGD5YNprZZXP1pkxB9P0bJTyK9mINeWjJjGDHdmJb3+e9C2zLaI+aC4i5qaKjForbM4SYiiMTwR7RPT+PAT5hzQvzYRIp9VkwIWNfpXTdmR/BYCNCdrhZc9EXgdDLp1nvziICPELuw9O6hU7UsxWBSHVeDDoUMzbmoYAoqV29ZfpQlSGWn4Jy9DNkgR7Jtwb5814FcWojT90iMgDl9kifFXbJFXuCUS/r6dbLsGDg1faujgJGagoYxiCkX3dGoLttBiQ0xx2BaxE9xUYyhXGFm+dL8/KSm/lTwL6YI8i8ZVfXdcGUe5L0Sy3VRvwvky/MVLzol0tQQAtLioNgxMa3mm7mFiXvVaBMbTzi0t3bYT/qFKvDDgOQXcZwhB0h4JltnBh3jExUm7RTgI2m2AnjENzEnNljwmU38c1QbJuiF7d05imBogCKirZOuPXNL9I0QgK14gHiqRG82Gvbqauhg9ckK0salps6TBlg40smHSeCGqZwgLoA6WHvajGn52OgICNA6j5eqcCj93WKjP29aTs5HIjUeXIIbaKM/d3azZqd53VVYTYK2RQ9FE5ZMp/HjCa4vm/IZ9V5MMsSxo4xhE4Fd+gconuvaJczFP74paC0yZwNr3eR7yNk4z50B4zUOJ50dWAx7r/bH9X5DfWCDbhCvS4Y4hccvtHUL1LDJyJx3smHepCtaeE9e0Gx+DcLRlc+X0pm/RuFTt7viMV8BK+kos8lGiaj4tCbE42g5Gph61PXUDHsJceWOJm1ebOjPUZ/tLUzZnu56isNtgEeHfxRRM06mbJme2LcoZOsDZCYQ7xCp/BeOi/QNFBoljPigWipYVh23qKur 28eunohf Dbtfjl+qVDH5knft5UVo4dXpcXvJID5xutUHvTBq2dPszJGaaoncEC5QGpzPhuMjob8sOnwQYK+40G7KnjLGd4QbdukscpYLai4MdUPbOBBHdXO0M8x754WUDw+yfWy9kpcjmVkFNbZW+3rfyIibR5QKKK5Brq3oNe5b20giwVZ8qBjDB1S3JieDqOkDou/WS6FBRIpqpJH1iUOL8+6pRdsAKB6Dixlm50HsO6JPeYLIjO8wzfmECspiV+7tBYbY1aI6gPD6OariNdR9tqHvbtc0IWnmjgdl3m+rGxFMRxsyI39E= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Hi Honza > > > +static int shmem_release_dquot(struct dquot *dquot) > > > +{ > > > + struct mem_dqinfo *info = sb_dqinfo(dquot->dq_sb, dquot->dq_id.type); > > > + struct rb_node *node = ((struct rb_root *)info->dqi_priv)->rb_node; > > > + qid_t id = from_kqid(&init_user_ns, dquot->dq_id); > > > + struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); > > > + struct quota_id *entry = NULL; > > > + > > > + mutex_lock(&dquot->dq_lock); > > > + /* Check whether we are not racing with some other dqget() */ > > > + if (dquot_is_busy(dquot)) > > > + goto out_dqlock; > > > + > > > + down_write(&dqopt->dqio_sem); > > > + while (node) { > > > + entry = rb_entry(node, struct quota_id, node); > > > + > > > + if (id < entry->id) > > > + node = node->rb_left; > > > + else if (id > entry->id) > > > + node = node->rb_right; > > > + else > > > + goto found; > > > + } > > > + > > > + up_write(&dqopt->dqio_sem); > > > + mutex_unlock(&dquot->dq_lock); > > > > We should report some kind of error here, shouldn't we? We do expect to > > have the quota_id allocated from shmem_acquire_dquot() and we will be > > possibly loosing set limits here. > > I've been looking into this today, and I'm not sure if there is any error we should be reporting here, as there isn't anything to really go wrong here. I was comparing it with other filesystems, and most of them uses dquot_release() return value, as a return value for .release_dquot. And on such cases, the error could be other than zero, if something failed while writing the dquot to disk. In the case here, we just write to the RB tree in memory, and it has already been allocated, so, I don't think there is any error we could be returning here. Does it sound right to you? Cheers. -- Carlos Maiolino