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 A3F6EC77B73 for ; Thu, 20 Apr 2023 13:28:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 248F8900003; Thu, 20 Apr 2023 09:28:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1F880900002; Thu, 20 Apr 2023 09:28:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C252900003; Thu, 20 Apr 2023 09:28:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id F3CA9900002 for ; Thu, 20 Apr 2023 09:28:07 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id C3D60120326 for ; Thu, 20 Apr 2023 13:28:07 +0000 (UTC) X-FDA: 80701847814.05.1643137 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by imf09.hostedemail.com (Postfix) with ESMTP id C41D414001D for ; Thu, 20 Apr 2023 13:28:05 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=w7hrfdWn; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=stnNSiqp; spf=pass (imf09.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=1681997286; 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=2hvC/P1vumbLaX08ojUUrQkLBTTJp+TM+NOYrdCUhHU=; b=JZxcfTqSINsT68FjnpInglwVrKRUI44S1qrb5OfnwPuYxKrjagsbgtPzF1nAfBa+VfsfqO me7XkDCSfxJYVbTHiqOOVPLqMoAg/nDWWrCu2NpN5OuM4xcARvktPErZFa78NsOfwh5bTh oU3cahp96jdAHViEGiIYiff8nLcQHx0= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=w7hrfdWn; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=stnNSiqp; spf=pass (imf09.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=1681997286; a=rsa-sha256; cv=none; b=lnE/LBGEW0HIswholZbKU2Yd+5iqDprskMDE6TOGWsdntv349RB6cBR5O4qn24ij9YtWsY F0E5CQ8Jg1iXy+9JK83YMj+0gIl6Y+XXcEnMMGIHKXx15vQcFVecw612K5XTvTlr4cmvda dwv9ro7+9CqJBQVrdDkSyZZKVuAOKlc= 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 5E26421AE5; Thu, 20 Apr 2023 13:27:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1681997278; 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=2hvC/P1vumbLaX08ojUUrQkLBTTJp+TM+NOYrdCUhHU=; b=w7hrfdWnuY+T2vHkiJOc7QUz+vzF3Ld8VpxEYn4mnxM05B5Wrkhc3KjlirMhK391U9ko+W 3A5fLGaYA8Gp32Zf/LiRumpCSJQ+5xqIPp2fSd/n7I6pCoJ7qHThINWnGDFyOxg3T+wJRB YqSwthe712x00F1E+1xzbbZ6C26Wmvk= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1681997278; 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=2hvC/P1vumbLaX08ojUUrQkLBTTJp+TM+NOYrdCUhHU=; b=stnNSiqptpuHkoiYb/ye4CBCzuHg6ePwrSQwW2EyQhLeCy7oZuYeKCuOcD9vq/xAZyXfYP KcBZ0ZlKoNEA8VAw== 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 5298413584; Thu, 20 Apr 2023 13:27:58 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id OP8nFN49QWTsGgAAMHmgww (envelope-from ); Thu, 20 Apr 2023 13:27:58 +0000 Received: by quack3.suse.cz (Postfix, from userid 1000) id 891F3A0729; Thu, 20 Apr 2023 15:17:54 +0200 (CEST) Date: Thu, 20 Apr 2023 15:17:54 +0200 From: Jan Kara To: cem@kernel.org Cc: hughd@google.com, jack@suse.cz, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, djwong@kernel.org Subject: Re: [PATCH V2 1/6] shmem: make shmem_inode_acct_block() return error Message-ID: <20230420131754.wncxnlqwcd5s5g3o@quack3> References: <20230420080359.2551150-1-cem@kernel.org> <20230420080359.2551150-2-cem@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230420080359.2551150-2-cem@kernel.org> X-Stat-Signature: k9u77tqxzk7czpc89eesxaf4jotz3op6 X-Rspam-User: X-Rspamd-Queue-Id: C41D414001D X-Rspamd-Server: rspam06 X-HE-Tag: 1681997285-950003 X-HE-Meta: U2FsdGVkX18+3l6SRcY2Ff3yprcFS2fHvVkPbFmuKPRHtXFQiD+oeI2RtzdiYYI5hM4ilMLeDoCPGQGK1J19QJyB0RRXk8/KWKWDbmMclp6Da9NfqFp+T+4MqBkKvLorkNX/7vyBDUpCCCxcuFDEUQe2b/vMBdYaGqa2+u9qGTZWjT5rCGOVRKYxaQeL5JcuvfL5gmpiZjlMfQOWJlaHxp1Kt1Y05Z4Oft4mr682GE93Vjvx3JT9XBTFSFLbhBuKkVP6UqPI3ALgHtkVZFSs7Vux9O2k6EF0F0uOvoP+5DISuviaETgelYRvRgPJu0A8KNKj6LPuEOuulIuP5bxydNYiZJg7SH5/TQN4Sls9yqX86IRQuSZcqafbSQqrWyoKXjdBC9gwY3224ZkSodt/FNxosXfK6zN5sVf+167X/tlrL4buvmnTIZGqVoAZXlCS9yTYQjU2WdgGXal3qu+mR3eZ3Ev0MwqxpHl99OcHjXB9g8tNo2yI9YU8nH7TTyua9TXwot1MQq5AVqCNfUcfKD7dozsNvfyjpSC3CDkSPP8ffiiULsV5IX1vCe8jRjw+6gyVKT7dyziaMfpy7cPd2fg7R3luPuc63w9xK+R/ct/M4MvGrH9tCTqBpc2+U7M0rhFKGyjlSQc9LBPmKXskZ1CbUV1i8jRhfJdcHdXIuu6IJdFwzngCrCaZBI2eER8q9SziShML3L6/an/HKq32ple4aFWMVr4nW2raF1Ag1i1n5opnW2Gww+HA/h70jV5Efz87Oh5uS/GR/ZY6hr8beSzfVEzaun0DqAA8OmKtRGZfUybSedeJT3jQqtFLdFdp7O+o3c/KqBL0GHiEwKhvyVmY2tFNryY2ju+nsNKnFP75/l8L4qztgXp7wYpaHzt+adRpC42apYCqS3L3hY35xNjlIFIHVq1dpWQCGhT850g/BgANyHAJAzA/PAl5sJf7/j7LOy6b5q3FXWiw6C+ OrBEa8ei MFCUfo4P5Mtj5UyoXHsSgTAqHWq9uI8N8G3XNnrX+nJaaat9NMP7p+8NceeqRHWqF7zay4BQxrtKxaAE/fNOfB/odzNnk3dbusBkqgJlwsYIwzpbqeEDk7Rx4QENgaUf0xfr/u8jTq3Dif3KtskkdHzpjnjQc/AvoTGYRwTPNq9zzWSXlS4LVylRgdOoCUoPoJDb/XmegoaF4hQXuniLrvQzv/z0mii3u56nEWxsz88GQr9RjnmJyxweeNIe3Fo+THRbKwl8fHOrUNv6mNoXYR4RYhC8QM2G4VzF20T3aUEd62b7FtpbVvNVq+m2BW7LABpFi6SV4cljqEIgvi8qcBl6ygNo5ua6yU8UM9N55foPQfAA7SEkYDPoUqi0mEyZb5jox5yTeieaRklg= 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: On Thu 20-04-23 10:03:54, cem@kernel.org wrote: > From: Lukas Czerner > > Make shmem_inode_acct_block() return proper error code instead of bool. > This will be useful later when we introduce quota support. > > There should be no functional change. > > Signed-off-by: Lukas Czerner > Signed-off-by: Carlos Maiolino Looks good. Feel free to add: Reviewed-by: Jan Kara Honza > > --- > V2: > - remove unused variable initialization on > shmem_alloc_and_acct_folio > > mm/shmem.c | 18 ++++++++++-------- > 1 file changed, 10 insertions(+), 8 deletions(-) > > diff --git a/mm/shmem.c b/mm/shmem.c > index 448f393d8ab2b..b1b3b826f6189 100644 > --- a/mm/shmem.c > +++ b/mm/shmem.c > @@ -198,13 +198,14 @@ static inline void shmem_unacct_blocks(unsigned long flags, long pages) > vm_unacct_memory(pages * VM_ACCT(PAGE_SIZE)); > } > > -static inline bool shmem_inode_acct_block(struct inode *inode, long pages) > +static inline int shmem_inode_acct_block(struct inode *inode, long pages) > { > struct shmem_inode_info *info = SHMEM_I(inode); > struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); > + int err = -ENOSPC; > > if (shmem_acct_block(info->flags, pages)) > - return false; > + return err; > > if (sbinfo->max_blocks) { > if (percpu_counter_compare(&sbinfo->used_blocks, > @@ -213,11 +214,11 @@ static inline bool shmem_inode_acct_block(struct inode *inode, long pages) > percpu_counter_add(&sbinfo->used_blocks, pages); > } > > - return true; > + return 0; > > unacct: > shmem_unacct_blocks(info->flags, pages); > - return false; > + return err; > } > > static inline void shmem_inode_unacct_blocks(struct inode *inode, long pages) > @@ -369,7 +370,7 @@ bool shmem_charge(struct inode *inode, long pages) > struct shmem_inode_info *info = SHMEM_I(inode); > unsigned long flags; > > - if (!shmem_inode_acct_block(inode, pages)) > + if (shmem_inode_acct_block(inode, pages)) > return false; > > /* nrpages adjustment first, then shmem_recalc_inode() when balanced */ > @@ -1583,13 +1584,14 @@ static struct folio *shmem_alloc_and_acct_folio(gfp_t gfp, struct inode *inode, > struct shmem_inode_info *info = SHMEM_I(inode); > struct folio *folio; > int nr; > - int err = -ENOSPC; > + int err; > > if (!IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE)) > huge = false; > nr = huge ? HPAGE_PMD_NR : 1; > > - if (!shmem_inode_acct_block(inode, nr)) > + err = shmem_inode_acct_block(inode, nr); > + if (err) > goto failed; > > if (huge) > @@ -2433,7 +2435,7 @@ int shmem_mfill_atomic_pte(struct mm_struct *dst_mm, > int ret; > pgoff_t max_off; > > - if (!shmem_inode_acct_block(inode, 1)) { > + if (shmem_inode_acct_block(inode, 1)) { > /* > * We may have got a page, returned -ENOENT triggering a retry, > * and now we find ourselves with -ENOMEM. Release the page, to > -- > 2.30.2 > -- Jan Kara SUSE Labs, CR