diff options
| author | YangWen <anmuxixixi@gmail.com> | 2025-05-07 15:39:30 +0000 |
|---|---|---|
| committer | Warner Losh <imp@FreeBSD.org> | 2026-03-07 07:51:16 +0000 |
| commit | cb69951f7ee68c51ce465dba9b0d2f661c567c4b (patch) | |
| tree | d50ae5854792fd25eaf4d74b1b60aa481c2050a1 | |
| parent | 3570b19d74ed94dcc7fac2dcbf42b378bc72362e (diff) | |
fsck_msdosfs: reduce the scope of dentry deletion
When dentry flag is ATTR_VOLUME because of 1 bit flip(from 0x10 to 0x18),
removede function will delete all dentry from invalid dentry postion,
so some normal dentries will be deleted in the same cluster.Unfortunately,
these normal directories and files will not be visible to the user
after wo do fsck_msdos
Signed-off-by: YangWen <anmuxixixi@gmail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1694
| -rw-r--r-- | sbin/fsck_msdosfs/dir.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sbin/fsck_msdosfs/dir.c b/sbin/fsck_msdosfs/dir.c index 2d7e4bcdc38f..de3d950c9611 100644 --- a/sbin/fsck_msdosfs/dir.c +++ b/sbin/fsck_msdosfs/dir.c @@ -769,7 +769,7 @@ readDosDirSection(struct fat_descriptor *fat, struct dosDirEntry *dir) if (vallfn || invlfn) { mod |= removede(fat, invlfn ? invlfn : vallfn, p, - invlfn ? invcl : valcl, -1, 0, + invlfn ? invcl : valcl, cl, cl, fullpath(dir), 2); vallfn = NULL; invlfn = NULL; |
