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 00414C77B6E for ; Wed, 12 Apr 2023 10:12:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 913E1900004; Wed, 12 Apr 2023 06:12:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8C420900002; Wed, 12 Apr 2023 06:12:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 76546900004; Wed, 12 Apr 2023 06:12:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 6A158900002 for ; Wed, 12 Apr 2023 06:12:01 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id E786B4776A for ; Wed, 12 Apr 2023 10:04:48 +0000 (UTC) X-FDA: 80672305056.24.9469115 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by imf20.hostedemail.com (Postfix) with ESMTP id 3D5291C0028 for ; Wed, 12 Apr 2023 10:04:41 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ZxDnafhV; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=GUbcPYnk; spf=pass (imf20.hostedemail.com: domain of jack@suse.cz designates 195.135.220.28 as permitted sender) smtp.mailfrom=jack@suse.cz; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681293882; a=rsa-sha256; cv=none; b=aiZqgYIq9GotIx+dade7Yg8saLQXTDkueoca8bUswLXs5iHFKBBWJnenyCf8sm7BdXvtAc c1l03P70yu/IRqvJnA3ti0zaKWVKpc7wT8DlewwF3VFtt+AVtTwgmudRcT3lmQvsB0UFbg OkyGGsvwgnpAZcUhRizMAyHcS/dfkSw= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ZxDnafhV; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=GUbcPYnk; spf=pass (imf20.hostedemail.com: domain of jack@suse.cz designates 195.135.220.28 as permitted sender) smtp.mailfrom=jack@suse.cz; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681293882; 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=9hP3GMaKHdGssioYuhWSRo7DbghUDHqKiSPZCby+0q4=; b=1DzCcono6G7Wll9t72bEAnO4hkvKzD0sWrf0Ur1/RJ47mWgI8exc/CUB2M2yc13zJm/p+/ QXNBgA2uphfrb6PgDEasUbStoekNX1gyHQ9WY0+HNFvFDHmrXB3Ri8YZr1Xa9xW0oiMapS M0VKxFK7ovgv+b2EquNguY3syeBa2aI= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id E23922193C; Wed, 12 Apr 2023 10:04:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1681293880; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=9hP3GMaKHdGssioYuhWSRo7DbghUDHqKiSPZCby+0q4=; b=ZxDnafhVm5A1aucDUQOgLo6ZwkePO9HTJBeNPHhDEHqQkVpyJJSy1FjyG9+prCq7d5QIwl xWMJI1LHj0vbfU7uKGHA+aYFBkEIzZsBUZxYky51HWYB89fNQEhjVBPmdVMnVvqG91IZbe hpRaEDn4AHXI+KUFetjmFyagLMO0b3I= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1681293880; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=9hP3GMaKHdGssioYuhWSRo7DbghUDHqKiSPZCby+0q4=; b=GUbcPYnkYERsoFCO4Ee54gkQAfma3CKtKzWAk1WVpR3/+w1gATnPm8mn959eLtt1QMSgMr Jw3V7WO6LWfV3mBw== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D52BC132C7; Wed, 12 Apr 2023 10:04:40 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id WsUCNDiCNmRQDgAAMHmgww (envelope-from ); Wed, 12 Apr 2023 10:04:40 +0000 Received: by quack3.suse.cz (Postfix, from userid 1000) id 4B1A4A0732; Wed, 12 Apr 2023 12:04:40 +0200 (CEST) Date: Wed, 12 Apr 2023 12:04:40 +0200 From: Jan Kara To: Carlos Maiolino Cc: Jan Kara , 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: <20230412100440.pjgbqc6c44rq5ffj@quack3> References: <20230403084759.884681-1-cem@kernel.org> <20230403084759.884681-5-cem@kernel.org> <4sn9HjMu80MnoBrnTf2T-G0QFQc9QOwiM7e6ahvv7dZ0N6lpoMY-NTul3DgbNZF08r69V6BuAQI1QcdSzdAFKQ==@protonmail.internalid> <20230404123442.kettrnpmumpzc2da@quack3> <20230404134836.blwy3mfhl3n2bfyj@andromeda> <20230412094432.p5x3sjolu7tbn5g7@andromeda> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230412094432.p5x3sjolu7tbn5g7@andromeda> X-Rspam-User: X-Rspamd-Queue-Id: 3D5291C0028 X-Rspamd-Server: rspam01 X-Stat-Signature: gazdzrcbjis6sapjpmes8ungp3u66gzk X-HE-Tag: 1681293881-210126 X-HE-Meta: U2FsdGVkX1+cxv2iMsCgdne6SjCa5jLwJl+v4OHHjvTevW71cm5/Q0AzU7O30AlEtb6g2DuV+gSJ6LxPDd/e3gjz903Vn8sixV8v61C0xGJZ9RwW+8sEh7W5kT4vsJ4sc0MxTJMH3jkE78k9bpP0BLFE/K1KYWiKC4HsSR3MTgjytuxJdTPLH1HNLA8Z4mlwm1163EdWQsfWNZMAiCvRWDcjE16An6MPtwpnVKlTsAuZFUNnircrcgxM04c7fyxIN4OIKc3ouy8QVhHj5vb2YlcIgdrkqEz3+KvR6c9RvQftywE76zp/Qyt5NMCsm54IK4ZcscTu/06w7yr4rSfsrAMMcL8Ed+YQTvJXJTIkgY/EiXTiD1U/y/CPUUfP6ZIPvorOjEMhJ609R94srG+l69qrnA6vzdreFZM/LbYpVkVAEzfG6FUVRjz2Qg4yI+0bjLNgx8Xy+8ujOontvj859lS/DTKaWlf5/mwHGksl91JF2ktNLsfIXTzawVoX/jrtsc6AHJ5iOwRXzOrqw10jBRyFPGOC54sArHXUtiCe/Nwo/Azs4Yk0xG1RI5XDWq1yAOCf44uq3Wa/K/GX24uxVsO1EhML2kkemQW9RfCa+vaOw7+b7c03u826qYaZPZJkH0r6a11q3cNflOf0Q3Eut/INCSpJlynqRKuxMiLcY+S9EcPwoLxcWvKZmsSQHSEkxgU0NRpR1B5xf2mSx10h5+tT4tbCWCL4kTYwfh+VZemTSaU9UCyR4CtQrnY0Kv3Vtxfch2WLfKTeCNzLk3hz7ZAKTQult+IF8nsPUmVh9LsAEl44cwcsqH67gyQl1656EluaNWt41TN6eIRLa/84DmzALUemOs7gSr0eNDQqkF39CLkJGTrFoki46Y4pHUbt8aEMvT7Dg0YSembsOpkeK4hAQPCc7PgxuEMplirSUE7KCNGlmEvAw+GwhWaPJbirEahCMn2/UPX01y900qY P52qJGMN tANWSgOYBzpwdsYo/LaegxUhCk5i8PIFoBC9izZ03P7d5A8vDuiVDw30FL2Otw/rl0o+aAMjSoV2V1Co8/oTcw+8L9JybZG9BHj/7Vo34Uoy3L7lmzEMb/HWSJC8iQ6cWmCK5P73dRnlL5lLw7wroPCecMiYopXNW1lOs4o2DkOznqRSmdT/vvlugD3yrE4ZAyzrjnmV+WMdQ83zIBCEwv8ykU1/LGvTrjyQ+tzbBMw53GJ/jhCgUAmIpdCUhAejbKOmwzi1T+RrIVY4= 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 Carlos! On Wed 12-04-23 11:44:32, Carlos Maiolino wrote: > > > > +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? My point is that it should never happen that we don't find the entry in the rbtree in shmem_release_dquot(). So we should rather WARN_ON_ONCE() and bail or something like that, rather then silently return success. Not a big deal but for initial debugging it might be useful. Honza -- Jan Kara SUSE Labs, CR