svn commit: r351204 - head/sbin/fsck_msdosfs
Xin LI
delphij at FreeBSD.org
Mon Aug 19 04:28:13 UTC 2019
Author: delphij
Date: Mon Aug 19 04:28:12 2019
New Revision: 351204
URL: https://svnweb.freebsd.org/changeset/base/351204
Log:
Remove redundant check and wrong fix: fat.c checks already take care
about cluster chains.
Obtained from: OpenBSD
MFC after: 2 weeks
Modified:
head/sbin/fsck_msdosfs/dir.c
Modified: head/sbin/fsck_msdosfs/dir.c
==============================================================================
--- head/sbin/fsck_msdosfs/dir.c Mon Aug 19 01:14:11 2019 (r351203)
+++ head/sbin/fsck_msdosfs/dir.c Mon Aug 19 04:28:12 2019 (r351204)
@@ -220,7 +220,6 @@ int
resetDosDirSection(struct bootblock *boot, struct fatEntry *fat)
{
int b1, b2;
- cl_t cl;
int ret = FSOK;
size_t len;
@@ -253,24 +252,9 @@ resetDosDirSection(struct bootblock *boot, struct fatE
boot->bpbRootClust);
return FSFATAL;
}
- cl = fat[boot->bpbRootClust].next;
- if (cl < CLUST_FIRST
- || (cl >= CLUST_RSRVD && cl< CLUST_EOFS)
- || fat[boot->bpbRootClust].head != boot->bpbRootClust) {
- if (cl == CLUST_FREE)
- pwarn("Root directory starts with free cluster\n");
- else if (cl >= CLUST_RSRVD)
- pwarn("Root directory starts with cluster marked %s\n",
- rsrvdcltype(cl));
- else {
- pfatal("Root directory doesn't start a cluster chain");
- return FSFATAL;
- }
- if (ask(1, "Fix")) {
- fat[boot->bpbRootClust].next = CLUST_FREE;
- ret = FSFATMOD;
- } else
- ret = FSFATAL;
+ if (fat[boot->bpbRootClust].head != boot->bpbRootClust) {
+ pfatal("Root directory doesn't start a cluster chain");
+ return FSFATAL;
}
fat[boot->bpbRootClust].flags |= FAT_USED;
More information about the svn-src-all
mailing list