From: cem@kernel.org
To: hughd@google.com
Cc: jack@suse.cz, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
djwong@kernel.org
Subject: [PATCH 1/6] shmem: make shmem_inode_acct_block() return error
Date: Mon, 3 Apr 2023 10:47:54 +0200 [thread overview]
Message-ID: <20230403084759.884681-2-cem@kernel.org> (raw)
In-Reply-To: <20230403084759.884681-1-cem@kernel.org>
From: Lukas Czerner <lczerner@redhat.com>
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 <lczerner@redhat.com>
Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
---
mm/shmem.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/mm/shmem.c b/mm/shmem.c
index 448f393d8ab2b..0e63ea5f6ce69 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 */
@@ -1589,7 +1590,8 @@ static struct folio *shmem_alloc_and_acct_folio(gfp_t gfp, struct inode *inode,
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
next prev parent reply other threads:[~2023-04-03 8:48 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-03 8:47 [PATCH 0/6] shmem: Add user and group quota support for tmpfs cem
2023-04-03 8:47 ` cem [this message]
2023-04-04 10:59 ` [PATCH 1/6] shmem: make shmem_inode_acct_block() return error Jan Kara
2023-04-03 8:47 ` [PATCH 2/6] shmem: make shmem_get_inode() return ERR_PTR instead of NULL cem
2023-04-03 10:23 ` Jan Kara
2023-04-11 7:47 ` Carlos Maiolino
2023-04-11 8:14 ` Jan Kara
2023-04-11 8:41 ` Carlos Maiolino
2023-04-03 21:10 ` kernel test robot
2023-04-04 4:26 ` kernel test robot
2023-04-03 8:47 ` [PATCH 3/6] quota: Check presence of quota operation structures instead of ->quota_read and ->quota_write callbacks cem
2023-04-03 8:47 ` [PATCH 4/6] shmem: prepare shmem quota infrastructure cem
2023-04-04 12:34 ` Jan Kara
2023-04-04 13:48 ` Carlos Maiolino
2023-04-05 11:04 ` Jan Kara
2023-04-12 9:44 ` Carlos Maiolino
2023-04-12 10:04 ` Jan Kara
2023-04-12 11:14 ` Carlos Maiolino
2023-04-12 11:23 ` Jan Kara
2023-04-03 8:47 ` [PATCH 5/6] shmem: quota support cem
2023-04-03 14:31 ` kernel test robot
2023-04-03 18:46 ` Darrick J. Wong
2023-04-04 13:41 ` Carlos Maiolino
2023-04-04 16:45 ` Darrick J. Wong
2023-04-03 22:03 ` kernel test robot
2023-04-04 6:22 ` kernel test robot
2023-04-05 11:42 ` Jan Kara
2023-04-11 9:37 ` Carlos Maiolino
2023-04-11 13:03 ` Jan Kara
2023-04-03 8:47 ` [PATCH 6/6] Add default quota limit mount options cem
2023-04-05 8:52 ` [PATCH 0/6] shmem: Add user and group quota support for tmpfs Christian Brauner
2023-04-05 10:44 ` Carlos Maiolino
2023-04-05 13:11 ` Christian Brauner
2023-04-06 8:08 ` Carlos Maiolino
-- strict thread matches above, loose matches on Subject: below --
2023-04-26 10:20 [PATCH V4 " cem
2023-04-26 10:20 ` [PATCH 1/6] shmem: make shmem_inode_acct_block() return error cem
2023-07-13 13:48 [PATCH RESEND V4 0/6] shmem: Add user and group quota support for tmpfs cem
2023-07-13 13:48 ` [PATCH 1/6] shmem: make shmem_inode_acct_block() return error cem
2023-07-17 11:52 [PATCH V5 0/6] shmem: Add user and group quota support for tmpfs cem
2023-07-17 11:52 ` [PATCH 1/6] shmem: make shmem_inode_acct_block() return error cem
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230403084759.884681-2-cem@kernel.org \
--to=cem@kernel.org \
--cc=djwong@kernel.org \
--cc=hughd@google.com \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-mm@kvack.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.