From: "Sungjong Seo" <sj1557.seo@samsung.com>
To: <Yuezhang.Mo@sony.com>, <linkinjeon@kernel.org>
Cc: <linux-fsdevel@vger.kernel.org>, <Andy.Wu@sony.com>,
<Wataru.Aoyama@sony.com>
Subject: RE: [PATCH v2 02/10] exfat: add exfat_get_empty_dentry_set() helper
Date: Mon, 4 Mar 2024 17:42:54 +0900 [thread overview]
Message-ID: <1891546521.01709541901716.JavaMail.epsvc@epcpadp3> (raw)
In-Reply-To: <PUZPR04MB63166D7502785B1D91C962D181232@PUZPR04MB6316.apcprd04.prod.outlook.com>
> > Sent: Monday, March 4, 2024 12:43 PM
> > >
> > > This patch set is intended to improve the performance of sync
> > > dentry, I don't think it is a good idea to change other logic in this
> patch set.
> > Yeah, as you said, this patch set should keep the original logic
> > except for the sync related parts. The reason I left a review comment
> > is because the code before this patch set allows deleted dentries to
> > follow unused dentries.
>
> Which commit changed to allow deleted dentries to follow unused dentries?
Not changed. It has been allowed from the initial commit as follows.
5f2aa075070c ("exfat: add inode operations")
>
> The following code still exists if without this patch set. It does not
> allow deleted dentries to follow unused dentries.
It may be the same part as the code you mentioned, but remember that
the first if-statement handles both an unused dentry and
a deleted dentry together.
static int exfat_search_empty_slot(...)
{
...
if (type == TYPE_UNUSED || type == TYPE_DELETED) {
...
} else {
if (hint_femp->eidx != EXFAT_HINT_NONE &&
hint_femp->count == CNT_UNUSED_HIT) {
/* unused empty group means
* an empty group which includes
* unused dentry
*/
exfat_fs_error(sb,
"found bogus dentry(%d) beyond unused empty group(%d) (start_clu : %u, cur_clu : %u)",
dentry, hint_femp->eidx,
p_dir->dir, clu.dir);
return -EIO;
}
...
}
...
}
>
> > Please let me know if I missed anything.
> >
> > > Patch [7/10] moves the check from exfat_search_empty_slot() to
> > > exfat_validate_empty_dentry_set().
> > >
> > > - if (hint_femp->eidx !=
> > EXFAT_HINT_NONE &&
> > > - hint_femp->count ==
> > CNT_UNUSED_HIT) {
> > > - /* unused empty group
> > means
> > > - * an empty group
> > which includes
> > > - * unused dentry
> > > - */
> > > - exfat_fs_error(sb,
> > > - "found bogus
> > dentry(%d) beyond
> > > unused empty group(%d) (start_clu : %u, cur_clu : %u)",
> > > - dentry,
> > hint_femp->eidx,
> > > - p_dir->dir,
> > clu.dir);
> > >
next prev parent reply other threads:[~2024-03-04 8:45 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20231228065938epcas1p3112d227f22639ca54849441146d9bdbf@epcms1p1>
2024-03-04 4:43 ` [PATCH v2 02/10] exfat: add exfat_get_empty_dentry_set() helper 서성종
2024-03-04 7:29 ` Yuezhang.Mo
2024-03-04 8:42 ` Sungjong Seo [this message]
2024-03-04 11:37 ` Yuezhang.Mo
2024-03-07 11:07 ` Sungjong Seo
[not found] <CGME20231228065938epcas1p3112d227f22639ca54849441146d9bdbf@epcas1p3.samsung.com>
2023-12-28 6:59 ` Yuezhang.Mo
2024-02-29 6:18 ` Sungjong Seo
2024-02-29 9:37 ` Yuezhang.Mo
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=1891546521.01709541901716.JavaMail.epsvc@epcpadp3 \
--to=sj1557.seo@samsung.com \
--cc=Andy.Wu@sony.com \
--cc=Wataru.Aoyama@sony.com \
--cc=Yuezhang.Mo@sony.com \
--cc=linkinjeon@kernel.org \
--cc=linux-fsdevel@vger.kernel.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.