From: Carlos Maiolino <cem@kernel.org>
To: Jan Kara <jack@suse.cz>
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
Date: Wed, 12 Apr 2023 11:44:32 +0200 [thread overview]
Message-ID: <20230412094432.p5x3sjolu7tbn5g7@andromeda> (raw)
In-Reply-To: <20230404134836.blwy3mfhl3n2bfyj@andromeda>
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
next prev parent reply other threads:[~2023-04-12 9:55 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 ` [PATCH 1/6] shmem: make shmem_inode_acct_block() return error cem
2023-04-04 10:59 ` 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 [this message]
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
2023-04-26 10:20 [PATCH V4 " cem
2023-04-26 10:20 ` [PATCH 4/6] shmem: prepare shmem quota infrastructure 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 4/6] shmem: prepare shmem quota infrastructure 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 4/6] shmem: prepare shmem quota infrastructure 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=20230412094432.p5x3sjolu7tbn5g7@andromeda \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox