summaryrefslogtreecommitdiffstats
path: root/sbin/fsck_ffs
Commit message (Collapse)AuthorAgeFilesLines
* In the case of a background fsck, periodically update the process titlescottl2004-02-289-0/+47
| | | | with a progress update.
* style.Makefile(5):johan2004-02-231-1/+1
| | | | Use WARNS?= instead of WARNS=.
* Avoid dereferencing null pointers in fsck_ffs. (pfatal may return,cperciva2004-01-262-2/+7
| | | | | | | so it isn't a safe way of handling [mc]alloc failures.) PR: misc/61800 Approved by: rwatson (mentor)
* Add manual page links from fsck_ufs.8 and fsck_4.2bsd.8 to fsck_ffs.8,simon2004-01-101-0/+1
| | | | | | since there are already the same links for the program binary. Suggested by: mat
* Catch and report on filesystems that were interrupted during newfs,wes2003-11-161-0/+12
| | | | | sporting the new 'BAD' magic number. Exit with a unique error code (11) so callers who care about this can respond appropriately.
* Change the default mode for lost+found from 01777 to 0700. Theiedowse2003-10-191-1/+1
| | | | | | | | | | original intention of the less restrictive permissions was to allow users to move or delete recovered files that they own. However, it is better to not create world-writable directories by default; the administrator can always pre-create lost+found if different permissions are desired. Reviewed by: mckusick
* Create a .snap directory mode 770 group operator in the root of eachmckusick2003-10-081-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | filesystem that is checked in background. Create the snapshot in this directory rather than in the root. There are two benefits: 1) For terabyte-sized filesystems, the snapshot may require many minutes to build. Although the filesystem will not be suspended during most of the snapshot build, the snapshot file itself is locked during the entire snapshot build period. Thus, if it is accessed during the period that it is being built, the process trying to access it will block holding its containing directory locked. If the snapshot is in the root, the root will lock and the system will come to a halt until the snapshot finishes. By putting the snapshot in a subdirectory, it is out of the likely path of any process traversing through the root and hence much less likely to cause a lock race to the root. 2) The dump program is usually run by a non-root user running with operator group privilege. Such a user is typically not permitted to create files in the root of a filesystem. By having a directory in group operator with group write access available, such a user will be able to create a snapshot there. Having the dump program create its snapshot in a subdirectory below the root will benefit from point (1) as well. Sponsored by: DARPA & NAI Labs.
* Spell "file system" correctly.ru2003-08-013-3/+3
|
* Use __FBSDID() to quiet GCC 3.3 warnings.obrien2003-05-0313-47/+43
|
* Correct lines incorrectly added to the copyright message. Add missing period.mckusick2003-02-141-4/+1
| | | | | Submitted by: Bruce Evans <bde@zeta.org.au> Sponsored by: DARPA & NAI Labs.
* MFp4: Make ifs consistant with rest of file.imp2002-12-131-3/+3
|
* Uniformly refer to a file system as "file system".ru2002-12-121-1/+1
| | | | Approved by: re
* Slow down the operation of background fsck so as to leave some diskiedowse2002-12-071-1/+46
| | | | | | | | | | | | | | | bandwidth for other processes. Since the sleeping is done from userland, this avoids the locking issues that affected the kernel version. The algorithm used here is to measure a moving average of the times taken by a sample of read operations and then delay 1 in 8 reads by 16 times the measured average. This should correspond to a factor of 3 slowdown, but in practice the factor is larger (3.5 to 4) due to hz rounding effects. Reviewed by: mckusick Approved by: re
* Verify that alternate superblocks have a correct magic number beforemckusick2002-12-021-9/+10
| | | | | | | | | trying to use them. Set a minimum value for numdirs when using an alternate superblock to avoid spurious numdirs == 0 error. Calculate new fields when using an alternate superblock from a UFS1 filesystem to avoid segment faulting. Sponsored by: DARPA & NAI Labs.
* Create a new 32-bit fs_flags word in the superblock. Add code to movemckusick2002-11-272-4/+3
| | | | | | | | | | | | | | | | | the old 8-bit fs_old_flags to the new location the first time that the filesystem is mounted by a new kernel. One of the unused flags in fs_old_flags is used to indicate that the flags have been moved. Leave the fs_old_flags word intact so that it will work properly if used on an old kernel. Change the fs_sblockloc superblock location field to be in units of bytes instead of in units of filesystem fragments. The old units did not work properly when the fragment size exceeeded the superblock size (8192). Update old fs_sblockloc values at the same time that the flags are moved. Suggested by: BOUWSMA Barry <freebsd-misuser@netscum.dyndns.dk> Sponsored by: DARPA & NAI Labs.
* Fsck needs to check each CG's rotor values to ensure thay are not -ve.julian2002-11-241-3/+3
| | | | | | | | | | | It seems a common corruption to have them -ve (I've seen it several times) and if fsck doesn't fix it, it leads to a kernel pagefault. Reviewd by: kirk Submitted by: Eric Jacobs <eaja@erols.com> and me independently. MFC in: 2 days PR: bin/40967 Approved by: re
* Clear the pending counts in the superblock after a successful runmckusick2002-10-191-1/+4
| | | | | | | of fsck so that the kernel does not complain about them being non-zero when the filesystem is mounted. Sponsored by: DARPA & NAI Labs.
* When verifying a superblock, the lower bound on block size is MINBSIZEmckusick2002-10-101-1/+1
| | | | | | | (4096), not SBLOCKSIZE (8192). Submitted by: Tor.Egge@cvsup.no.freebsd.org Sponsored by: DARPA & NAI Labs.
* Use the standardized CHAR_BIT constant instead of NBBY in userland.mike2002-09-253-10/+13
|
* Add support to fsck_ffs to account for storage for extendedmckusick2002-09-241-1/+19
| | | | | | attributes. Sponsored by: DARPA & NAI Labs.
* Add a source file where EXTATTR checks will happen and hook it in evenphk2002-09-164-2/+93
| | | | | | if it doesn't do anything yet. Sponsored by: DARPA & NAI Labs.
* Fix some 'SYNOPSIS' and 'usage' messages.trhodes2002-08-271-1/+1
|
* Replace various spelling with FALLTHROUGH which is lint()ablecharnier2002-08-252-11/+13
|
* s/filesystem/file system/g as discussed on -developerstrhodes2002-08-2112-241/+241
|
* Fix more breakage due to FSTYPENAMES/DKTYPENAMES split.bmilekic2002-08-161-0/+1
| | | | Also submitted by: David Wolfskill <david@catwhisker.org>
* Don't '#define DKTYPENAMES', we don't use the variable it exposes fromalfred2002-08-161-1/+0
| | | | the header file.
* preen.c was a stragler after the fsck/fsck_ffs divorce.phk2002-08-091-282/+0
| | | | | | | | | | | | | | | fsck_ffs did not need it, but quotacheck did include it from fsck_ffs. A repocopy has now moved the fsck_ffs/preen.c file to quotacheck/preen.c quotacheck and fsck should probably use the same checkfstab() function and it should possibly live in libufs. Trouble is: they have diverged in the meantime. At least now fsck_ffs is not in the equation anymore. Sponsored by: DARPA & NAI Labs.
* Fix a bunch of format string warnings which brokemux2002-07-316-35/+43
| | | | | | the sparc64 build. Tested on: sparc64, i386
* Remove some additional paranoia which Kirk forgot to remove from hisphk2002-07-302-4/+2
| | | | | | | | | | | | | UFS2 commit. These bits in essence made any instance of "softupdates expected corrution", (ie blocks marked allocated but not referenced by an inode etc) result in a exit value for fsck_ffs of 2. 2 is part of the magic and appearantly undocumented protocol between fsck_FOO and fsck and means "dump into single user mode ASAP. Sponsored by: DARPA & NAI Labs.
* Warning cleanup.phk2002-07-3010-71/+71
| | | | Format changes by peter
* Remove the kernel file-size limit for UFS2, so that only the limitiedowse2002-06-261-1/+4
| | | | | | | | | | imposed by the filesystem structure itself remains. With 16k blocks, the maximum file size is now just over 128TB. For now, the UFS1 file size limit is left unchanged so as to remain consistent with RELENG_4, but it too could be removed in the future. Reviewed by: mckusick
* Fix an integer overflow that causes fsck_ffs to crash when itiedowse2002-06-261-1/+1
| | | | | | encounters very large file sizes in the filesystem. Reviewed by: mckusick
* This commit adds basic support for the UFS2 filesystem. The UFS2mckusick2002-06-2111-374/+477
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | filesystem expands the inode to 256 bytes to make space for 64-bit block pointers. It also adds a file-creation time field, an ability to use jumbo blocks per inode to allow extent like pointer density, and space for extended attributes (up to twice the filesystem block size worth of attributes, e.g., on a 16K filesystem, there is space for 32K of attributes). UFS2 fully supports and runs existing UFS1 filesystems. New filesystems built using newfs can be built in either UFS1 or UFS2 format using the -O option. In this commit UFS1 is the default format, so if you want to build UFS2 format filesystems, you must specify -O 2. This default will be changed to UFS2 when UFS2 proves itself to be stable. In this commit the boot code for reading UFS2 filesystems is not compiled (see /sys/boot/common/ufsread.c) as there is insufficient space in the boot block. Once the size of the boot block is increased, this code can be defined. Things to note: the definition of SBSIZE has changed to SBLOCKSIZE. The header file <ufs/ufs/dinode.h> must be included before <ufs/ffs/fs.h> so as to get the definitions of ufs2_daddr_t and ufs_lbn_t. Still TODO: Verify that the first level bootstraps work for all the architectures. Convert the utility ffsinfo to understand UFS2 and test growfs. Add support for the extended attribute storage. Update soft updates to ensure integrity of extended attribute storage. Switch the current extended attribute interfaces to use the extended attribute storage. Add the extent like functionality (framework is there, but is currently never used). Sponsored by: DARPA & NAI Labs. Reviewed by: Poul-Henning Kamp <phk@freebsd.org>
* more file system > filesystemtrhodes2002-05-168-187/+187
|
* UFS2 preparation commit:phk2002-05-128-221/+27
| | | | | | | Remove support for converting old FFS formats to newer. Submitted by: mckusick Sponspored by: DARPA & NAI Labs.
* Retire the bogus uses of the disklabel field d_sbsize and begin tophk2002-05-122-3/+1
| | | | | | | initialize it to zero so we don't have to have everbody and their aunt including FFS specific header files. Sponsored by: DARPA & NAI Labs.
* Minor bug fixes uncovered while working on UFS2.mckusick2002-05-022-2/+2
| | | | They should have no effect on existing systems.
* Usage style sweep: spell "usage" with a small 'u'.des2002-04-221-1/+1
| | | | | Also change one case of blatant __progname abuse (several more remain) This commit does not touch anything in src/{contrib,crypto,gnu}/.
* When checking the alternate superblock, we used to copy any fieldsmckusick2002-04-071-61/+25
| | | | | | | | | | | | | | that might have changed, then did a byte-by-byte comparison with the alternate. If any unused fields got used, they had to be added to the exception list. Such changes caused too many false alarms. So, I have changed the comparison algorithm to compare a selected set of fields that are not expected to change. This new algorithm causes far fewer false hits and still does a good job of detecting problems when they have really occurred. In particular, this change should ease the transition to kernels supporting UFS2 which make some significant changes to the superblock. Sponsored by: DARPA, NAI Labs
* Replace __progname with the documented, more acceptable and functionally ↵markm2002-03-241-5/+4
| | | | identical getprogname(3).
* o __P removedimp2002-03-2014-336/+181
| | | | | | | o ansi function prototypes o unifdef -D__STDC__ o __dead2 on usage prototype o remove now-bogus main prototype
* Remove 'register' keyword.obrien2002-03-2010-71/+71
| | | | | | It does not help modern compilers, and some may take some hit from it. (I also found several functions that listed *every* of its 10 local vars with "register" -- just how many free registers do people think machines have?)
* declare locally used globals as static.alfred2001-12-221-3/+3
|
* Ignore the value of fs_active when comparing superblocks.iedowse2001-12-171-0/+1
| | | | Noticed by: "Niels Chr. Bank-Pedersen" <ncbp@bank-pedersen.dk>
* Spellingcharnier2001-12-111-1/+1
|
* mdoc(7) police: section 1 and 8 manpages document their exitru2001-12-041-4/+2
| | | | | codes under the DIAGNOSTICS section, not RETURN VALUES, which is for section 2, 3, and 9 manpages.
* Actually I haven't enumerated the return values yet (thats why I hadn'tobrien2001-12-041-1/+1
| | | | | committed it yet). So vague'ize the wording a little bit to make up for it.
* Default to WARNS=2.obrien2001-12-042-1/+6
| | | | | | Binary builds that cannot handle this must explicitly set WARNS=0. Reviewed by: mike
* Fix a large number of -Wall, -Wformat and -W compiler warnings.iedowse2001-11-1711-59/+50
| | | | | | | | | These were mainly missing casts or wrong format strings in printf statements, but there were also missing includes, unused variables, functions and arguments. The choice of `long' vs `int' still seems almost random in a lot of places though.
* Give a more useful diagnostic when an extraneous hard link to aiedowse2001-11-171-1/+3
| | | | | | | | | | directory is encountered. This includes the full path of the directory that will be removed if the user answers "y" to the "REMOVE?" question. PR: bin/226851 Submitted by: KOIE Hide <hide@koie.org> MFC after: 1 week
OpenPOWER on IntegriCloud