summaryrefslogtreecommitdiffstats
path: root/sbin/fsck_msdosfs/fat.c
Commit message (Collapse)AuthorAgeFilesLines
* Fixed some bugs in checkdirty(). The check for the clean bit wasbde2004-02-051-9/+27
| | | | | | | | | | | | | | | | | | | combined with the the signature check in a wrong way (basically (dirty:= signature_recognised() && !clean) instead of (mightbedirty:= !signature_recognized || !clean), so file systems with unrecognized signatures were considered clean. Many of the don't-care and reserved bits were not ignored, so some file systems with valid signatures were unrecognized. One of my FAT32 file systems has a signature of f8,ff,ff,ff,ff,ff,ff,f7 when dirty, but only f8,ff,ff,0f,ff,ff,ff,07 was recognised as dirty for FAT32, so the fail-unsafeness made my file system always considered clean. Check the i/o non-error bit in checkdirty(). Its absence would give an unrecognized signature in code that is unaware of it, but we now mask it out of the signature so we have to check it explicitly. This combines naturally with the check of the clean bit. Reviewed by: rnordier (except for final details)
* Document the dirty flag and other bits in the first 2 FAT entriesbde2004-02-051-0/+18
| | | | | | | | | | | | better. There is a related I/O error flag which we don't support in the kernel but must support here. (Support for bits that we don't understand here is mostly automatic by fail-safeness, but checkdirty() has fail-unsafeness.) There are some reserved and don't-care bits that weren't fully documented and aren't always masked properly. The comment about the bits in readfat() will be removed when the masking is fixed. Submitted by: rnordier
* Prepare to fix checkdirty() by moving it from check.c to fat.c. It isbde2004-02-051-0/+43
| | | | | identical to a subset of readfat(), so it belongs near readfat() if not in it.
* s/filesystem/file system/g as discussed on -developerstrhodes2002-08-211-1/+1
|
* o __P removedimp2002-03-201-52/+16
| | | | | | | o ansi function prototypes o unifdef -D__STDC__ o __dead2 on usage prototype o remove now-bogus main prototype
* Add fsck_msdosfs.obrien2001-07-091-0/+659
Obtained from: NetBSD
OpenPOWER on IntegriCloud