Commit Graph

124 Commits

Author SHA1 Message Date
thorpej
2402aaa614 Bug fix from Kirk McKusick <mckusick@McKusick.COM>:
Fix a bug in fsck_ffs where if a directory somehow develops a hole
(that is a block pointer that has a value of zero), fsck would give the
filesystem a clean bill of health, but the kernel would panic when
accessing the directory with the hole. Fsck now checks for holes
in directories.  If found in preen mode, fsck fails.  In manual
mode, it can be directed to shorten the directory to the beginning of
the hole. A  more complete solution would be to allocate a block to fill
the hole. However, this is a lot more work for a `cannot happen' error,
so the extra effort seems unwarranted.
1996-10-11 20:15:46 +00:00
christos
c5d8ca200f - util.h -> fsutil.h 1996-09-27 22:45:10 +00:00
christos
5528d37484 - fixed all printf formats [there were a lot of %l? <-> %? mistakes]
- added missing prototypes, and made local functions static
- removed parallel preening code; this is part of fsck(8)
- use printing utilities from fsck(8)
- Makefile does not make links to fsck and fsck.8
- removed -l maxparallel option. It has no meaning anymore.
1996-09-23 16:18:31 +00:00
mycroft
96dea9e6ca Use a different tree-walking algorithm in propagate(). 1996-06-11 07:07:52 +00:00
mycroft
5c78d726e4 File sizes in FFS are u_int64_t. 1996-05-25 09:57:36 +00:00
mycroft
28670f694a Oops; use %x to print out masks, not %d. 1996-05-21 17:36:21 +00:00
mycroft
e14f61b1f7 Check fs_[bf]mask, fs_maxfilesize, fs_maxsymlinklen, and fs_q[bf]mask,
since incorrect values may cause the kernel to malfunction.
1996-05-21 17:25:56 +00:00
mycroft
6dc46f6326 Adjust the logic a bit so we `nif' can't overflow. 1996-05-21 16:58:12 +00:00
mycroft
92a822c250 Remove previous (incorrect) change, and tidy up a bit to make it
clearer what's going on.
1996-05-21 15:32:16 +00:00
mrg
8c4136ca25 initalise dino to zero. pr#2098 1996-05-21 12:42:38 +00:00
mycroft
5f98044780 Try looking up the file system name in fstab. From greywolf@starwolf.com,
slightly modified.
1996-05-11 14:27:50 +00:00
cgd
fea3644f0b check in changes proposed in PR 2006 (approved by J.T.), to rename fsck
to fsck_ffs, so that in the future 'fsck' can be a wrapper than invokes
appropriate filesystem-specific checker programs.  For now, the only
user-visible change is that the names have changed in the manual page
and in error messages; fsck and fsck.8 are now links to fsck_ffs and
fsck_ffs.8, until the rest of the transition is complete.
1996-04-05 01:44:24 +00:00
mycroft
afdfe1b51f Use fs_csaddr to find the cg summary area. From der Mouse, PR 1366. 1996-01-18 21:55:27 +00:00
thorpej
9952e89162 Squish some type bugs pointed out by Jonathan Stone. 1995-12-17 06:03:36 +00:00
thorpej
78bd4a1051 Make this compile with -Werror. 1995-12-14 22:17:26 +00:00
jtc
0a1e7de7b6 merge in changes from 1.1 release branch 1995-11-28 05:25:28 +00:00
cgd
e85da9ab29 recognize 'ffs' and 'ufs' as meaning the same thing. 1995-07-12 03:39:53 +00:00
cgd
5f6a15bcbe implement a 'force check' flag, '-f'. I used the SunOS name, but the Digital
semantics.  now:
	(1) dirty file systems will always be checked; nothing new there.
	(2) if not '-f' clean file systems will _NEVER_ be checked,
		i.e. they won't be checked even if -p isn't specified.  This
		allows one to 'fsck -p ; fsck' to preen, then clean up
		anything that 'fsck -p' barfs on, without waiting for the
		clean file systems to be checked again.
	(3) if '-f' clean file systems will ALWAYS be checked.  This
		allows people to put 'fsck -fp' into /etc/rc on systems
		where they're leery of the FS clean flag state, need
		the extra reliability, and can afford time 'wasted'
		in checks.
The assumption made here is that if a file system is marked clean, it
_IS CLEAN_, really, and shouldn't be checked unless fsck is explicitly
told to (with -f).  This should be a valid assumption, but may not be in
the presence of file system bugs.  Documentation updated to note '-f'.
1995-07-12 01:49:16 +00:00
cgd
788733b7a9 typeof(timeval.tv_sec) != time_t 1995-06-07 17:14:21 +00:00
cgd
555d4b510e slightly clean rcs ids, etc. 1995-04-23 10:33:03 +00:00
mycroft
7cb70c9889 Set the clean flag if necessary. If preening, don't check `clean' file
systems.
1995-04-12 21:24:07 +00:00
cgd
38bab6b6da type sizes 1995-03-21 01:30:09 +00:00
mycroft
283b35b06f Make sure to recreate the `..' entry in the root directory if missing. 1995-03-20 00:40:10 +00:00
cgd
0114e805ce convert to new RCS Id conventions; reduce my headache 1995-03-18 14:54:19 +00:00
cgd
9235328d5a functions which are 'fake-varaargs' should be passed longs, not ints. 1995-02-10 23:26:14 +00:00
mycroft
700673cebf Change some spacing to match Kirk's view of the world. 1994-12-28 00:15:50 +00:00
mycroft
0826920c54 Mostly sync with CSRG. 1994-12-28 00:03:49 +00:00
mycroft
e5d0c2de0f Copy fs_maxcluster when comparing superblocks. 1994-12-27 19:26:57 +00:00
cgd
06e2955ff1 specify man pages the new way. 1994-12-22 10:44:04 +00:00
cgd
d71db3e4a6 light clean, and make it compile against new header files. 1994-12-18 15:55:41 +00:00
cgd
73cf954189 adjust; from jimj. 1994-12-06 19:13:02 +00:00
cgd
5eeab43e28 more cleanups from Jim Jegers, passed over by me. 1994-12-05 20:15:31 +00:00
mycroft
54477c5285 Use the S_IS*() macros, and make this compile again after Chris's changes to ufs. 1994-10-28 16:55:05 +00:00
mycroft
bedf1adf67 Get the byte order right when creating .' and ..' entries. 1994-10-28 16:54:05 +00:00
mycroft
195d1d6f4e On a recursive call to fsck_readdir() through getpathname(), don't attempt to
fix a problem that's already being fixed.
1994-10-28 16:53:13 +00:00
mycroft
c10923f665 dircheck() shouldn't be looking at d_type or d_namlen in blank entries
*at all*.  Not only is it wrong, but it causes a serious problem on
little-endian machines, since after -c2 conversion, d_type will often
be > 15.
1994-10-06 14:24:17 +00:00
mycroft
4922d725cf Remove some more uses of obsolete functions. 1994-09-23 23:48:10 +00:00
mycroft
ea7b5d4ec6 Eliminate uses of some obsolete functions. 1994-09-23 14:26:58 +00:00
mycroft
815971855a A correct fix for the byte order problem when reconnecting. 1994-09-20 23:31:39 +00:00
mycroft
1466993ef3 Fix oversight in last patch. 1994-07-29 02:31:50 +00:00
mycroft
08d1c5cc81 Fix byte-order problem with directory entry creation. 1994-07-28 00:25:17 +00:00
cgd
138fcd8327 deal with new share/doc strategy 1994-06-30 05:33:30 +00:00
ws
f455a4ed05 Reads on raw disks are only guarranteed in multiples of the block size 1994-06-29 11:01:35 +00:00
cgd
5b029eb9a8 update for new doc-make/install strategy 1994-06-25 05:57:47 +00:00
mycroft
eadb2ad514 Fix compatibility with old fastlinks. 1994-06-14 22:49:57 +00:00
mycroft
16573e290b Import 4.4-Lite version. 1994-06-13 22:40:40 +00:00
mycroft
ccfa3742b5 Update from 4.4-Lite, with local changes. 1994-06-08 18:57:30 +00:00
pk
77c9a3fa5b Prototype some things. 1994-05-02 10:18:21 +00:00
cgd
97c1f9d08d oops; changed comparison, but not field! 1994-04-25 18:33:42 +00:00
cgd
9a2c884999 need <sys/time.h> 1994-04-25 18:28:42 +00:00
cgd
e82c231da3 need <sys/time.h> 1994-04-25 18:23:19 +00:00
cgd
1ddc4aa19f kill some code if SMALL is defined... 1994-04-18 06:08:27 +00:00
cgd
eb0f0ad92d fs type names will soon be strings 1994-04-14 03:21:21 +00:00
deraadt
7f4901e6f5 typo 1994-04-13 10:12:33 +00:00
deraadt
8fb90b0ed4 from <dean@fsa.ca>: let "fsck /usr" work. also, if the user does
"fsck /dev/sd0a" attempt to map to the raw device name.
1994-04-09 08:58:31 +00:00
deraadt
73c673cd94 if user does ie, "fsck /etc/group", then types ^C to the CONTINUE
prompt do not dump core. fix from <dean@fsa.ca> (who i will stop
hounding about bug fixes for an hour or two)
1994-04-09 08:53:37 +00:00
cgd
c9b86e9473 kill the evil U word! from Mike Long <mike.long@analog.com> 1994-04-06 00:08:58 +00:00
cgd
e4ef74f2a0 kill extern'd lseek() 1994-03-28 06:49:06 +00:00
mycroft
0af4689100 Patch from Bruce Evans to deal with file names with NULs in them. 1993-11-05 23:32:06 +00:00
cgd
202167bebb try again to keep it from rebooting endlessly 1993-10-15 15:15:25 +00:00
cgd
86c14aeb7a set the 'clean' flag sometimes, but ignore it when deciding to clean
or not.  this allows you to use this fsck and... reboot your system;
otherwise it would inf-loop rebooting and marking the FS clean,
which would then mark the fs modified, cause a reboot, etc.
1993-10-06 00:52:07 +00:00
mycroft
978ea867b7 #if 0 the fs_clean check for now. 1993-10-03 03:54:38 +00:00
mycroft
e1e7cd5d46 Don't set clean flag if -n. 1993-10-01 02:25:19 +00:00
mycroft
5f4ea60f65 Initial count for fs_state is `FS_CLEANFREQ'. 1993-10-01 01:48:01 +00:00
mycroft
3bceafed83 Skip check if filesystem is marked clean and isn't too dusty, only with -p.
Set clean flag after checking a filesystem.
1993-10-01 01:45:30 +00:00
jtc
adb370a8b4 Updated to -mandoc macros. 1993-08-05 20:34:26 +00:00
mycroft
e9d867ef50 Add RCS identifiers. 1993-08-01 17:54:45 +00:00
mycroft
dfb9caab49 Add RCS indentifiers. 1993-08-01 07:32:48 +00:00
mycroft
cda4f8f6ee Add RCS identifiers. 1993-08-01 05:37:30 +00:00
mycroft
90c92bff60 Add support for fast symlinks. 1993-06-13 21:08:27 +00:00
cgd
1d3699fbdc i don't think we're in sys.386bsd any more... 1993-04-28 05:43:55 +00:00
cgd
06be60083d changed "Id" to "Header" for rcsids 1993-03-23 00:22:59 +00:00
cgd
346aa5dd48 added rcs ids to all files 1993-03-22 08:04:00 +00:00
cgd
61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00