Home | History | Annotate | only in /src/sbin/fsck_msdos
History log of /src/sbin/fsck_msdos
RevisionDateAuthorComments
 1.12 11-Apr-2010  hannken Add -x option which allows to run `fsck_msdos -n' on a snapshot of
a live file system.

While here modify snap_open() to accept a character device as its
first arg and remove now unneeded get_snap_device().

Reviewed by: Manuel Bouyer <bouyer@netbsd.org>
 1.11 26-Aug-2006  christos Programs that use efun.
 1.10 20-Jan-2005  xtraeme WARNS=2 is the default defined in sbin/Makefile.inc. (thanks wiz)
 1.9 19-Aug-2002  lukem Use ${NETBSDSRCDIR}/some/path instead of ${.CURDIR}/../../some/path
 1.8 06-Apr-2001  wiz Make WARNS=2 safe, and set WARNS to 2.
 1.7 10-Oct-1997  christos CFLAGS->CPPFLAGS
 1.6 08-May-1997  gwr Back out the .PATH.c changes. The .depend problem (and others)
will be fixed using the new .NOPATH make feature instead.
 1.5 06-May-1997  gwr Use .PATH.c: ...
 1.4 03-Jan-1997  ws Fix handling of clusters marked bad
Noted by Rafal Boni
 1.3 27-Sep-1996  christos util -> fsutil
 1.2 23-Sep-1996  christos - use error printing code from fsck(8)
- remove fstab walking code
- add missing prototypes
- add missing argument in dir.c near "Truncate", where delete() was being
called with fewer args. I think the missing argument should be a zero,
but Wolfgang should check...
 1.1 14-May-1996  ws Add fsck utility for msdosfs
 1.27 28-Aug-2022  mlelstv fix 32bit builds
 1.26 28-Aug-2022  mlelstv Fix writing of corrected fsinfo.
Continue when fsinfo has been rewritten.
 1.25 24-Apr-2022  hannken Cast read()/write() result to size_t to make this compile again.
 1.24 23-Apr-2022  mlelstv Support large disk sectors.
 1.23 22-Feb-2020  kamil Avoid unportable shift construct

boot.c:150:29, left shift of 255 by 24 places cannot be represented in type 'int'
boot.c:153:29, left shift of 255 by 24 places cannot be represented in type 'int'
 1.22 11-Jan-2020  christos Don't add the 2 reserved clusters before we determine if we using fat16/fat32.
From FreeBSD: https://reviews.freebsd.org/D23082:

Correct off-by-two issue when determining FAT type.

In the code we used NumClusters as the upper (non-inclusive) boundary
of valid cluster number, so the actual value was 2 (CLUST_FIRST) more
than the real number of clusters. This causes a FAT16 media with
65524 clusters be treated as FAT32 and might affect FAT12 media with
4084 clusters as well.

To fix this, we increment NumClusters by CLUST_FIRST after the type
determination.
 1.21 08-Feb-2018  dholland branches: 1.21.4;
Typos.
 1.20 02-May-2016  jakllsch The on-disk FAT array does not include anything before CLUST_FIRST,
compensate in size check.

This was tickled by my SanDisk Sansa Clip 4GB, which exactly filled the FAT array.
 1.19 02-Jan-2015  mlelstv Avoid mixing cluster numbers and sector numbers. Makes code more readable.
 1.18 04-Nov-2014  msaitoh Add #include <inttypes.h> for intmax_t to fix compile error.
 1.17 03-Nov-2014  jakllsch ClusterOffset actually needs to be able to be negative.
 1.16 07-Jul-2014  christos branches: 1.16.2;
From: http://marc.info/?l=openbsd-tech&m=140354518512871&w=2
more consistency checks
 1.15 11-Apr-2009  lukem branches: 1.15.12; 1.15.22;
fix sign-compare issues
 1.14 13-Jun-2008  martin branches: 1.14.4;
Move to 2 clause license, approved by Wolfgang Solfrank.
 1.13 19-Mar-2007  gdt branches: 1.13.12; 1.13.14; 1.13.16;
Change mismatch of bytes 11 to 90 to be a warning, not an error, and
print out the values of the bytes that do not match.
Add comment explaining that there is no documented rationale for the
check.

fsck_msdos checks that several bytes are equal in the primary and
backup bootblock. There is no documented rationale. The kernel does
not enforce this when mounting a filesystem. I have a FAT32
filesystem on my disk (mounted as /share) which fails this check, but
is accepted by both Windows XP and NetBSD. My volume differs in bytes
71-81. The primary contains "SHARE " and the backup NUL bytes.

Further, fsck_msdos does not have code to repair the mismatch. As a
result such filesystems can be used not checked.
 1.12 10-Mar-2007  hubertf - removes unused ctype.h header
- correct comment in mount_nfs/getnfsargs.c: s/Nead/Need/

From: Slava Semushin <php-coder@altlinux.ru>
 1.11 05-Jun-2006  christos - don't leak memory on allocation failure.
- s/perror/perr and print how much we were trying to allocate.
 1.10 19-Jan-2005  xtraeme Kill __P(), ANSIfy, remove main() prototype.
 1.9 24-Jul-2003  ws Only compare the interesting part of the bootblock with its backup.
 1.8 22-Dec-2001  augustss Allow check to proceed with bad backup boot block if we're doing a readonly
check.
 1.7 26-Jul-2001  wiz Various typos in comments (neccessary, sceme, choise, ...).
 1.6 06-Oct-1998  ws Since M$ doesn't maintain the FSINFO block correctly,
don't treat errors there as modifications.
 1.5 17-Oct-1997  ws Add support for FAT32
Support dropping lost cluster chains (on request by Christoph Badura)
While being here, fix some minor bugs, mostly with format strings
 1.4 14-Sep-1997  lukem * cleanup for WARNS=1
* getopt returns -1 not EOF
* cleanup manpage
 1.3 27-Sep-1996  christos util -> fsutil
 1.2 23-Sep-1996  christos - use error printing code from fsck(8)
- remove fstab walking code
- add missing prototypes
- add missing argument in dir.c near "Truncate", where delete() was being
called with fewer args. I think the missing argument should be a zero,
but Wolfgang should check...
 1.1 14-May-1996  ws Add fsck utility for msdosfs
 1.13.16.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.13.14.1 17-Jun-2008  yamt sync with head.
 1.13.12.1 29-Jun-2008  mjf Sync with HEAD.
 1.14.4.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.15.22.1 10-Aug-2014  tls Rebase.
 1.15.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.16.2.1 14-Nov-2014  martin Pull up following revision(s) (requested by jakllsch in ticket #234):
sbin/fsck_msdos/boot.c: revision 1.18
sbin/fsck_msdos/dosfs.h: revision 1.7
sbin/fsck_msdos/boot.c: revision 1.17
ClusterOffset actually needs to be able to be negative.
Add #include <inttypes.h> for intmax_t to fix compile error.
 1.21.4.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.20 28-Aug-2022  mlelstv Fix writing of corrected fsinfo.
Continue when fsinfo has been rewritten.
 1.19 10-Jul-2014  christos Well, if you set FSFIXFAT, better do it... Try running fsck on:

$ newfs_msdos -C 1M ./poc.fs
$ dd if=/dev/zero of=poc.fs conv=notrunc bs=1 count=1 seek=512

multiple times and see that it does not get fixed.
 1.18 11-Apr-2009  lukem branches: 1.18.12; 1.18.22;
fix sign-compare issues
 1.17 13-Jun-2008  martin branches: 1.17.4;
Move to 2 clause license, approved by Wolfgang Solfrank.
 1.16 23-Feb-2008  christos branches: 1.16.2; 1.16.4;
Make sure that the exit values are always sane, and use symbolic instead
of magic constants. Reviewed by go@
 1.15 10-Mar-2007  hubertf branches: 1.15.4; 1.15.10; 1.15.12;
- removes unused ctype.h header
- correct comment in mount_nfs/getnfsargs.c: s/Nead/Need/

From: Slava Semushin <php-coder@altlinux.ru>
 1.14 05-Jun-2006  christos - don't leak memory on allocation failure.
- s/perror/perr and print how much we were trying to allocate.
 1.13 19-Jan-2005  xtraeme Kill __P(), ANSIfy, remove main() prototype.
 1.12 06-Apr-2001  wiz Make WARNS=2 safe, and set WARNS to 2.
 1.11 15-Sep-2000  abs if readboot() calls pfatal(), we need to print a \n before exiting
 1.10 25-Apr-2000  jdolecek branches: 1.10.4;
Recognize "dirty" signature on FAT as set by Windows 95 OSR2+ and don't report
it just as "odd byte sequence". Handle the dirty flag similar way
it's treated on e.g. FFS - e.g. clear it separately from rest of FAT.
Changing of FAT is now postponed until after all checks are done,
check.c:checkfilesys() was cleaned considerably and several messages
has been adjusted to be more accurate.

If file system was modified and no error has occured, just return 0
instead of 4 - there is no need for forcing a reboot in this case.

This addresses bin/5638 by Christos Zoulas.
 1.9 25-Aug-1998  ross from Erik Bertelsen <erik@mediator.uni-c.dk>
{ put } { in } { lots } { of } { these } { to } { shut } { up } { egcs }
 1.8 17-Oct-1997  ws Add support for FAT32
Support dropping lost cluster chains (on request by Christoph Badura)
While being here, fix some minor bugs, mostly with format strings
 1.7 14-Sep-1997  lukem * cleanup for WARNS=1
* getopt returns -1 not EOF
* cleanup manpage
 1.6 03-Jan-1997  ws Fix handling of clusters marked bad
Noted by Rafal Boni
 1.5 27-Sep-1996  christos util -> fsutil
 1.4 23-Sep-1996  christos - use error printing code from fsck(8)
- remove fstab walking code
- add missing prototypes
- add missing argument in dir.c near "Truncate", where delete() was being
called with fewer args. I think the missing argument should be a zero,
but Wolfgang should check...
 1.3 28-May-1996  ws Don't allocate data structures for non-directories
Free any data structures when finishing a check (at the latest)
 1.2 25-May-1996  ws Check return values of malloc
Generate full pathnames only on request
Minor cleanup, RCS Ids in .h files
 1.1 14-May-1996  ws branches: 1.1.4;
Add fsck utility for msdosfs
 1.1.4.1 31-May-1996  jtc pulled up from trunk by request of ws
 1.10.4.1 02-Oct-2000  abs Pullup sbin/fsck_msdos/check.c 1.11 (Approved by jhawk)
If readboot() calls pfatal() and returns an error, print \n before exiting
 1.15.12.2 29-Jun-2008  mjf Sync with HEAD.
 1.15.12.1 03-Apr-2008  mjf Sync with HEAD.
 1.15.10.1 24-Mar-2008  keiichi sync with head.
 1.15.4.1 23-Mar-2008  matt sync with HEAD
 1.16.4.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.16.2.1 17-Jun-2008  yamt sync with head.
 1.17.4.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.18.22.1 10-Aug-2014  tls Rebase.
 1.18.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.29 28-Apr-2017  christos Prevent SEGV on corrupted msdos directories (Veo Zhang)
 1.28 07-Mar-2016  christos branches: 1.28.6;
PR/50908: David Binderman: Optimize memset's
 1.27 02-Jan-2015  mlelstv Avoid mixing cluster numbers and sector numbers. Makes code more readable.
 1.26 07-Jul-2014  christos From: http://marc.info/?t=140304310700005&r=1&w=2
When truncating cluster chains fix the length of the cluster head.
 1.25 20-Feb-2011  christos branches: 1.25.10; 1.25.20;
undo part of the previous patch, which I suspect is bad.
 1.24 07-Feb-2011  christos PR/44529: Martin Danielsson: fsck_msdos crashes when verifying corrupt file
system. Avoid using the long name index when it is 0. Refactor the code to
avoid duplication.
 1.23 11-Apr-2009  lukem branches: 1.23.2;
fix sign-compare issues
 1.22 13-Jun-2008  martin branches: 1.22.4;
Move to 2 clause license, approved by Wolfgang Solfrank.
 1.21 17-Jan-2007  hubertf branches: 1.21.12; 1.21.14; 1.21.16;
Remove more duplicate #includes,
from Slava Semushin <slava.semushin@gmail.com>
 1.20 05-Jun-2006  christos - don't leak memory on allocation failure.
- s/perror/perr and print how much we were trying to allocate.
 1.19 10-Apr-2006  dbj the root directory of non fat32 filesystems is stored in a special area.
a couple of corner cases can cause it to fail to write out that area
after it performs repairs.
 1.18 20-Mar-2006  christos Coverity CID 1078: Add assertion check for NULL pointer.
 1.17 19-Jan-2005  xtraeme Kill __P(), ANSIfy, remove main() prototype.
 1.16 13-Jul-2003  itojun use bounded string op
 1.15 25-Apr-2000  jdolecek Recognize "dirty" signature on FAT as set by Windows 95 OSR2+ and don't report
it just as "odd byte sequence". Handle the dirty flag similar way
it's treated on e.g. FFS - e.g. clear it separately from rest of FAT.
Changing of FAT is now postponed until after all checks are done,
check.c:checkfilesys() was cleaned considerably and several messages
has been adjusted to be more accurate.

If file system was modified and no error has occured, just return 0
instead of 4 - there is no need for forcing a reboot in this case.

This addresses bin/5638 by Christos Zoulas.
 1.14 25-Aug-1998  ross from Erik Bertelsen <erik@mediator.uni-c.dk>
{ put } { in } { lots } { of } { these } { to } { shut } { up } { egcs }
 1.13 28-Jul-1998  mycroft __AUDIT__ cleanup.
 1.12 22-Jan-1998  ws Fix some bugs & annoyances when reparing defect disks
 1.11 17-Oct-1997  ws Add support for FAT32
Support dropping lost cluster chains (on request by Christoph Badura)
While being here, fix some minor bugs, mostly with format strings
 1.10 14-Sep-1997  lukem * cleanup for WARNS=1
* getopt returns -1 not EOF
* cleanup manpage
 1.9 08-Sep-1997  ws Fix a few bugs, especially when repairing disks:
Print correct pathname in error messages
Fix unterminating loop when trying to correct a bad fat
Require fat media byte to be the same as the one in the bpb
Fix unterminating loop when looking for free directory slot in LOST.DIR
(bad disk image provided by Christoph Badura)
 1.8 27-Sep-1996  christos util -> fsutil
 1.7 24-Sep-1996  ws Fix delete() call in dir.c differently than Christos' way.
Require at least one filesystem as program argument.
Update man page to reflect the latter.
 1.6 23-Sep-1996  christos - use error printing code from fsck(8)
- remove fstab walking code
- add missing prototypes
- add missing argument in dir.c near "Truncate", where delete() was being
called with fewer args. I think the missing argument should be a zero,
but Wolfgang should check...
 1.5 17-Sep-1996  ws Fix null pointer derefernce
Fixes PR#2765. Thanks David.
 1.4 11-Sep-1996  christos Fix gcc warnings.
 1.3 28-May-1996  ws Don't allocate data structures for non-directories
Free any data structures when finishing a check (at the latest)
 1.2 25-May-1996  ws Check return values of malloc
Generate full pathnames only on request
Minor cleanup, RCS Ids in .h files
 1.1 14-May-1996  ws branches: 1.1.4;
Add fsck utility for msdosfs
 1.1.4.1 31-May-1996  jtc pulled up from trunk by request of ws
 1.21.16.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.21.14.1 17-Jun-2008  yamt sync with head.
 1.21.12.1 29-Jun-2008  mjf Sync with HEAD.
 1.22.4.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.23.2.2 05-Mar-2011  bouyer Sync with HEAD
 1.23.2.1 08-Feb-2011  bouyer Sync with HEAD
 1.25.20.1 10-Aug-2014  tls Rebase.
 1.25.10.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.28.6.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.8 02-Jan-2015  mlelstv Avoid mixing cluster numbers and sector numbers. Makes code more readable.
 1.7 03-Nov-2014  jakllsch ClusterOffset actually needs to be able to be negative.
 1.6 13-Jun-2008  martin branches: 1.6.38;
Move to 2 clause license, approved by Wolfgang Solfrank.
 1.5 17-Oct-1997  ws branches: 1.5.46; 1.5.48; 1.5.50;
Add support for FAT32
Support dropping lost cluster chains (on request by Christoph Badura)
While being here, fix some minor bugs, mostly with format strings
 1.4 03-Jan-1997  ws Fix handling of clusters marked bad
Noted by Rafal Boni
 1.3 28-May-1996  ws Don't allocate data structures for non-directories
Free any data structures when finishing a check (at the latest)
 1.2 25-May-1996  ws Check return values of malloc
Generate full pathnames only on request
Minor cleanup, RCS Ids in .h files
 1.1 14-May-1996  ws branches: 1.1.4;
Add fsck utility for msdosfs
 1.1.4.1 31-May-1996  jtc pulled up from trunk by request of ws
 1.5.50.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.5.48.1 17-Jun-2008  yamt sync with head.
 1.5.46.1 29-Jun-2008  mjf Sync with HEAD.
 1.6.38.1 14-Nov-2014  martin Pull up following revision(s) (requested by jakllsch in ticket #234):
sbin/fsck_msdos/boot.c: revision 1.18
sbin/fsck_msdos/dosfs.h: revision 1.7
sbin/fsck_msdos/boot.c: revision 1.17
ClusterOffset actually needs to be able to be negative.
Add #include <inttypes.h> for intmax_t to fix compile error.
 1.14 24-Sep-2023  gutteridge ext.h: fix spelling and grammar in a comment
 1.13 11-Apr-2009  lukem fix sign-compare issues
 1.12 13-Jun-2008  martin branches: 1.12.4;
Move to 2 clause license, approved by Wolfgang Solfrank.
 1.11 19-Jan-2005  xtraeme branches: 1.11.26; 1.11.28; 1.11.30;
Kill __P(), ANSIfy, remove main() prototype.
 1.10 16-Sep-2001  wiz Spell 'occurred' with two 'r's.
 1.9 26-Jul-2001  wiz Various typos in comments (neccessary, sceme, choise, ...).
 1.8 06-Apr-2001  wiz Make WARNS=2 safe, and set WARNS to 2.
 1.7 10-Oct-2000  is Format string cleanups by Bill Sommerfeld.
 1.6 25-Apr-2000  jdolecek branches: 1.6.4;
Recognize "dirty" signature on FAT as set by Windows 95 OSR2+ and don't report
it just as "odd byte sequence". Handle the dirty flag similar way
it's treated on e.g. FFS - e.g. clear it separately from rest of FAT.
Changing of FAT is now postponed until after all checks are done,
check.c:checkfilesys() was cleaned considerably and several messages
has been adjusted to be more accurate.

If file system was modified and no error has occured, just return 0
instead of 4 - there is no need for forcing a reboot in this case.

This addresses bin/5638 by Christos Zoulas.
 1.5 17-Oct-1997  ws branches: 1.5.4;
Add support for FAT32
Support dropping lost cluster chains (on request by Christoph Badura)
While being here, fix some minor bugs, mostly with format strings
 1.4 23-Sep-1996  christos - use error printing code from fsck(8)
- remove fstab walking code
- add missing prototypes
- add missing argument in dir.c near "Truncate", where delete() was being
called with fewer args. I think the missing argument should be a zero,
but Wolfgang should check...
 1.3 28-May-1996  ws Don't allocate data structures for non-directories
Free any data structures when finishing a check (at the latest)
 1.2 25-May-1996  ws Check return values of malloc
Generate full pathnames only on request
Minor cleanup, RCS Ids in .h files
 1.1 14-May-1996  ws branches: 1.1.4;
Add fsck utility for msdosfs
 1.1.4.1 31-May-1996  jtc pulled up from trunk by request of ws
 1.5.4.1 10-Oct-2000  he Pull up revision 1.7 (requested by is):
Format string cleanup.
 1.6.4.1 18-Oct-2000  tv Pullup sbin string format fixes [is].
See "cvs log" for explicit revision numbers per file, from sommerfeld.
 1.11.30.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.11.28.1 17-Jun-2008  yamt sync with head.
 1.11.26.1 29-Jun-2008  mjf Sync with HEAD.
 1.12.4.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.30 04-Jun-2019  christos We already incremented cl; fix indexing. Noticed by Xin Li @FreeBSD.
 1.29 11-Jul-2014  christos branches: 1.29.24;
Another infinite loop fix from OpenBSD from Tobias Stoeckmann:

You can download a "proof of concept" from my website:
http://www.stoeckmann.org/openbsd/poc.iso.

Take FAT1 and it'll infinitely loop. This fix will complete
your previous commit.
 1.28 10-Jul-2014  christos Bring in a regression for the previous fix from OpenBSD
 1.27 07-Jul-2014  christos From: http://marc.info/?l=openbsd-tech&m=140234174104724&w=2
Avoid off-by-one on FAT12 filesystems.
 1.26 07-Jul-2014  christos From: http://marc.info/?l=openbsd-tech&m=140275150804337&w=2
Avoid infinite loops in cluster chain linked lists.
 1.25 07-Jul-2014  christos From: http://marc.info/?t=140304310700005&r=1&w=2
When truncating cluster chains fix the length of the cluster head.
 1.24 17-Jan-2013  jakllsch branches: 1.24.6;
An uninitialized next-free-cluster value in the file system information
block is valid; do not consider it for correction.
 1.23 07-Aug-2012  jakllsch branches: 1.23.2;
The free space value in the FSInfo block is merely unitialized when it is
0xffffffff. Fixes first part of bin/46743
 1.22 11-Apr-2009  lukem branches: 1.22.6;
fix sign-compare issues
 1.21 24-Jul-2008  matthias branches: 1.21.4;
Do not crash when boot->FSNext contains garbage (i.e. -1).
 1.20 13-Jun-2008  martin Move to 2 clause license, approved by Wolfgang Solfrank.
 1.19 06-Jun-2006  christos branches: 1.19.20; 1.19.22; 1.19.24;
don't use uint32_t when you mean size_t.
 1.18 05-Jun-2006  christos - don't leak memory on allocation failure.
- s/perror/perr and print how much we were trying to allocate.
 1.17 20-Mar-2006  christos Coverity CID 2302: Free fat if fatal error to avoid leak.
 1.16 19-Jan-2005  xtraeme Kill __P(), ANSIfy, remove main() prototype.
 1.15 28-Feb-2003  matt Eliminate a -Wshadow warning
 1.14 06-Apr-2001  wiz Make WARNS=2 safe, and set WARNS to 2.
 1.13 05-Jan-2001  lukem minor knf
 1.12 10-Oct-2000  is Format string cleanups by Bill Sommerfeld.
 1.11 26-Apr-2000  jdolecek branches: 1.11.4;
add a prototype for _readfat() added in last commit and make it static, so
that it's possible to compile this with -Wstrict-prototypes -Wmissing-prototypes

Breakage reported by Jeff Rizzo <riz@boogers.sf.ca.us> on current-users.
 1.10 25-Apr-2000  jdolecek Recognize "dirty" signature on FAT as set by Windows 95 OSR2+ and don't report
it just as "odd byte sequence". Handle the dirty flag similar way
it's treated on e.g. FFS - e.g. clear it separately from rest of FAT.
Changing of FAT is now postponed until after all checks are done,
check.c:checkfilesys() was cleaned considerably and several messages
has been adjusted to be more accurate.

If file system was modified and no error has occured, just return 0
instead of 4 - there is no need for forcing a reboot in this case.

This addresses bin/5638 by Christos Zoulas.
 1.9 22-Jan-1998  ws branches: 1.9.2;
Fix some bugs & annoyances when reparing defect disks
 1.8 17-Oct-1997  ws Add support for FAT32
Support dropping lost cluster chains (on request by Christoph Badura)
While being here, fix some minor bugs, mostly with format strings
 1.7 14-Sep-1997  lukem * cleanup for WARNS=1
* getopt returns -1 not EOF
* cleanup manpage
 1.6 08-Sep-1997  ws Fix a few bugs, especially when repairing disks:
Print correct pathname in error messages
Fix unterminating loop when trying to correct a bad fat
Require fat media byte to be the same as the one in the bpb
Fix unterminating loop when looking for free directory slot in LOST.DIR
(bad disk image provided by Christoph Badura)
 1.5 03-Jan-1997  ws Fix handling of clusters marked bad
Noted by Rafal Boni
 1.4 27-Sep-1996  christos util -> fsutil
 1.3 23-Sep-1996  christos - use error printing code from fsck(8)
- remove fstab walking code
- add missing prototypes
- add missing argument in dir.c near "Truncate", where delete() was being
called with fewer args. I think the missing argument should be a zero,
but Wolfgang should check...
 1.2 28-May-1996  ws Don't allocate data structures for non-directories
Free any data structures when finishing a check (at the latest)
 1.1 14-May-1996  ws branches: 1.1.4;
Add fsck utility for msdosfs
 1.1.4.1 31-May-1996  jtc pulled up from trunk by request of ws
 1.9.2.2 11-Oct-2000  he Apply patch (requested by he):
Correct typo in previous.
 1.9.2.1 10-Oct-2000  he Pull up revision 1.12 (via patch, requested by is):
Format string cleanup.
 1.11.4.1 18-Oct-2000  tv Pullup sbin string format fixes [is].
See "cvs log" for explicit revision numbers per file, from sommerfeld.
 1.19.24.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.19.24.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.19.22.1 17-Jun-2008  yamt sync with head.
 1.19.20.2 28-Sep-2008  mjf Sync with HEAD.
 1.19.20.1 29-Jun-2008  mjf Sync with HEAD.
 1.21.4.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.22.6.2 23-Jan-2013  yamt sync with head
 1.22.6.1 30-Oct-2012  yamt sync with head
 1.23.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.23.2.1 25-Feb-2013  tls resync with head
 1.24.6.1 10-Aug-2014  tls Rebase.
 1.29.24.1 10-Jun-2019  christos Sync with HEAD
 1.18 11-Sep-2016  sevan Document the version fsck_msdos first appeared.
Bump date.
 1.17 11-Apr-2010  wiz New sentence, new line. Sort SEE ALSO.
Improve formatting of option list.
 1.16 11-Apr-2010  hannken Add -x option which allows to run `fsck_msdos -n' on a snapshot of
a live file system.

While here modify snap_open() to accept a character device as its
first arg and remove now unneeded get_snap_device().

Reviewed by: Manuel Bouyer <bouyer@netbsd.org>
 1.15 13-Jun-2008  martin Move to 2 clause license, approved by Wolfgang Solfrank.
 1.14 25-Feb-2003  wiz branches: 1.14.32; 1.14.34; 1.14.36;
.Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
 1.13 01-Oct-2002  wiz New sentence, new line. By Robert Elz with minimal fixes.
 1.12 16-Nov-2001  wiz Drop an unnecessary .Pp.
 1.11 05-Jun-2001  wiz Drop arguments of .Os.
 1.10 07-Mar-1999  mycroft Clean up SYNOPSIS formatting.
 1.9 17-Oct-1997  ws Add support for FAT32
Support dropping lost cluster chains (on request by Christoph Badura)
While being here, fix some minor bugs, mostly with format strings
 1.8 11-Oct-1997  enami Use .Nm "" instead of .Nm fsck_msdos in SYNOPSIS.
 1.7 10-Oct-1997  lukem all but the first .Nm in SYNOPSIS need to be spelt out. [bin/4256]
 1.6 15-Sep-1997  lukem use .Nm correctly
 1.5 14-Sep-1997  lukem * cleanup for WARNS=1
* getopt returns -1 not EOF
* cleanup manpage
 1.4 17-Oct-1996  cgd clean up and add a fair bit of text. document -f (and the fact that it's
ignored).
 1.3 24-Sep-1996  ws Fix delete() call in dir.c differently than Christos' way.
Require at least one filesystem as program argument.
Update man page to reflect the latter.
 1.2 11-Sep-1996  christos Document -p (preen) option. If there are no filesystems specified on the
command line, get them from /etc/fstab when we are preening.
 1.1 14-May-1996  ws Add fsck utility for msdosfs
 1.14.36.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.14.34.1 17-Jun-2008  yamt sync with head.
 1.14.32.1 29-Jun-2008  mjf Sync with HEAD.
 1.24 16-Jun-2015  christos fix error messages containing \n
 1.23 09-Jun-2011  christos fix compilation.
 1.22 11-Apr-2010  hannken branches: 1.22.4;
Add -x option which allows to run `fsck_msdos -n' on a snapshot of
a live file system.

While here modify snap_open() to accept a character device as its
first arg and remove now unneeded get_snap_device().

Reviewed by: Manuel Bouyer <bouyer@netbsd.org>
 1.21 13-Jun-2008  martin Move to 2 clause license, approved by Wolfgang Solfrank.
 1.20 24-Feb-2008  christos branches: 1.20.2; 1.20.4;
Catch signals and exit with the proper error code like all the other fsck
programs.
 1.19 23-Feb-2008  christos Make sure that the exit values are always sane, and use symbolic instead
of magic constants. Reviewed by go@
 1.18 10-Mar-2007  hubertf branches: 1.18.4; 1.18.10; 1.18.12;
- removes unused ctype.h header
- correct comment in mount_nfs/getnfsargs.c: s/Nead/Need/

From: Slava Semushin <php-coder@altlinux.ru>
 1.17 19-Jan-2005  xtraeme Kill __P(), ANSIfy, remove main() prototype.
 1.16 13-Jan-2005  christos Add a progress meter to fsck_ffs based on the work by thorpej presented
to the mailing lists last January. This is optional.
 1.15 05-Jan-2004  jmmv Homogenize usage messages: make the 'usage' word all lowercase, as this seems
to be the most common practice in our tree.
 1.14 20-Oct-2003  dsl Add a -q (quiet) option to print nothing for clean filesystems.
Support in fsck_ffs and stub in fsck_xxx.
Push a few more messages through pwarn() instead of printf() to ensure
disk name is shown.
 1.13 25-May-2002  wiz __STDC__ is always defined on NetBSD.
 1.12 24-Sep-2001  wiz va_{start,end} audit:
Make sure that each va_start has one and only one matching va_end,
especially in error cases.
If the va_list is used multiple times, do multiple va_starts/va_ends.
If a function gets va_list as argument, don't let it use va_end (since
it's the callers responsibility).

Improved by comments from enami and christos -- thanks!

Heimdal/krb4/KAME changes already fed back, rest to follow.

Inspired by, but not not based on, OpenBSD.
 1.11 17-Oct-1997  ws Add support for FAT32
Support dropping lost cluster chains (on request by Christoph Badura)
While being here, fix some minor bugs, mostly with format strings
 1.10 01-Oct-1997  enami Don't declare optind.
 1.9 14-Sep-1997  lukem * cleanup for WARNS=1
* getopt returns -1 not EOF
* cleanup manpage
 1.8 17-Oct-1996  cgd include -f in usage, removed 'v' from getopt string since it's not handled
 1.7 03-Oct-1996  christos Accept -f flag, but do nothing with it.
 1.6 27-Sep-1996  christos util -> fsutil
 1.5 24-Sep-1996  ws Fix delete() call in dir.c differently than Christos' way.
Require at least one filesystem as program argument.
Update man page to reflect the latter.
 1.4 23-Sep-1996  christos - use error printing code from fsck(8)
- remove fstab walking code
- add missing prototypes
- add missing argument in dir.c near "Truncate", where delete() was being
called with fewer args. I think the missing argument should be a zero,
but Wolfgang should check...
 1.3 11-Sep-1996  christos Document -p (preen) option. If there are no filesystems specified on the
command line, get them from /etc/fstab when we are preening.
 1.2 25-May-1996  ws Check return values of malloc
Generate full pathnames only on request
Minor cleanup, RCS Ids in .h files
 1.1 14-May-1996  ws branches: 1.1.4;
Add fsck utility for msdosfs
 1.1.4.1 31-May-1996  jtc pulled up from trunk by request of ws
 1.18.12.2 29-Jun-2008  mjf Sync with HEAD.
 1.18.12.1 03-Apr-2008  mjf Sync with HEAD.
 1.18.10.1 24-Mar-2008  keiichi sync with head.
 1.18.4.1 23-Mar-2008  matt sync with HEAD
 1.20.4.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.20.2.1 17-Jun-2008  yamt sync with head.
 1.22.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.

RSS XML Feed