]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
exfat: fix just enough dentries but allocate a new cluster to dir
authorYuezhang Mo <Yuezhang.Mo@sony.com>
Fri, 22 Nov 2024 02:50:55 +0000 (10:50 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 12:02:08 +0000 (13:02 +0100)
[ Upstream commit 6697f819a10b238ccf01998c3f203d65d8374696 ]

This commit fixes the condition for allocating cluster to parent
directory to avoid allocating new cluster to parent directory when
there are just enough empty directory entries at the end of the
parent directory.

Fixes: af02c72d0b62 ("exfat: convert exfat_find_empty_entry() to use dentry cache")
Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/exfat/namei.c

index 337197ece599551516207992d516f0348437e893..e47a5ddfc79b3d48a5fe41a9756e9bbb2dfd4f35 100644 (file)
@@ -237,7 +237,7 @@ static int exfat_search_empty_slot(struct super_block *sb,
                dentry = 0;
        }
 
-       while (dentry + num_entries < total_entries &&
+       while (dentry + num_entries <= total_entries &&
               clu.dir != EXFAT_EOF_CLUSTER) {
                i = dentry & (dentries_per_clu - 1);