fs: fat: dentry iterator for fill_dir_slot()
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Sun, 22 Nov 2020 18:24:46 +0000 (19:24 +0100)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Thu, 10 Dec 2020 08:14:59 +0000 (09:14 +0100)
For reusing deleted directory entries we have to adjust the function called
to step to the next directory entry.

This patch alone is not enough to actually reuse deleted directory entries
as the fill_dir_slot() is still called with first never used directory
entry.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
fs/fat/fat_write.c

index 59cffef..0746d73 100644 (file)
@@ -362,7 +362,7 @@ fill_dir_slot(fat_itr *itr, const char *l_name, const char *shortname)
                        flush_dir(itr);
 
                /* allocate a cluster for more entries */
-               if (!fat_itr_next(itr) && !itr->dent)
+               if (!next_dent(itr) && !itr->dent)
                        if ((itr->is_root && itr->fsdata->fatsize != 32) ||
                            new_dir_table(itr))
                                return -EIO;