#
0b8224d1 |
|
24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove copyright strings ifdef'd out We've ifdef'd out the copyright strings for some time now. Go ahead and remove the ifdefs. Plus whatever other detritis was left over from other recent removals. These copyright strings are present in the comments and are largely from CSRG's attempt at adding their copyright to every binary file (which modern interpretations of the license doesn't require). Sponsored by: Netflix
|
#
51e16cb8 |
|
23-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sbin: Remove ancient SCCS tags. Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script. Sponsored by: Netflix
|
#
772430dd |
|
17-Nov-2023 |
Kirk McKusick <mckusick@FreeBSD.org> |
Ensure I/O buffers in libufs(3) are 128-byte aligned. Various disk controllers require their buffers to be aligned to a cache-line size (128 bytes). For buffers allocated in structures, ensure that they are 128-byte aligned. Use aligned_malloc to allocate memory to ensure that the returned memory is 128-byte aligned. While we are here, we replace the dynamically allocated inode buffer with a buffer allocated in the uufsd structure just as the superblock and cylinder group buffers do. This can be removed if/when the kernel is fixed. Because this problem has existed on one I/O subsystem or another since the 1990's, we are probably stuck with dealing with it forever. The problem most recent showed up in Azure, see: https://reviews.freebsd.org/D41728 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267654 Before these fixes were applied, it was confirmed that the changes in this commit also fixed the issue in Azure. Reviewed-by: Warner Losh, kib Tested-by: Souradeep Chakrabarti of Microsoft (earlier version) PR: 267654 Differential Revision: https://reviews.freebsd.org/D41724
|
#
d3a36e4b |
|
25-Oct-2023 |
Kirk McKusick <mckusick@FreeBSD.org> |
Delete snapshot after opening it when running fsck_ffs(9) in background. When fsck_ffs(8) runs in background, it creates a snapshot named fsck_snapshot in the filesystem's .snap directory. The fsck_snapshot file was removed when the background fsck finished. If the system crashed or the fsck exited unexpectedly, the fsck_snapshot file would remain. The snapshot would consume ever more space as the filesystem changed over time until it was removed by a system administrator or a future run of background fsck removed it to create a new snapshot file. This commit unlinks the .snap/fsck_snapshot file immediately after opening it so that it will be reclaimed when fsck closes it at the conclusion of its run. After a system crash, it will be removed as part of the filesystem cleanup because of its zero reference count. As only a few milliseconds pass between its creation and unlinking, there is far less opportunity for it to be accidentally left behind. PR: 106107 MFC-after: 1 week
|
#
1d386b48 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .c pattern Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
344b5bf8 |
|
01-Aug-2023 |
Kirk McKusick <mckusick@FreeBSD.org> |
Support background fsck_ffs(8) on filesystems using journaled soft updates An earlier addition of code to fsck_ffs(8) allowed it to support snapshots when running with journalled soft updates. Further functionality has now been added to fsck_ffs(8) to allow it to use snapshots to run in background on live filesystems running with journaled soft updates. This commit enables the use of this functionality. Tested-by: Peter Holm Sponsored-by: The FreeBSD Foundation MFC-after: 2 weeks
|
#
4d512b07 |
|
25-Jul-2023 |
Kirk McKusick <mckusick@FreeBSD.org> |
Debugging output additions. No functional changes intended. MFC-after: 1 week Sponsored-by: The FreeBSD Foundation
|
#
239597e0 |
|
17-Jul-2023 |
Kirk McKusick <mckusick@FreeBSD.org> |
Text format cleanups. No functional changes intended. MFC-after: 1 week Sponsored-by: The FreeBSD Foundation
|
#
4b08a62e |
|
25-May-2023 |
Kirk McKusick <mckusick@FreeBSD.org> |
When running fsck_ffs(8) in background ensure that a superblock has been read. Reported by: Mikhail T. PR: 271352 MFC after: 1 week Sponsored by: The FreeBSD Foundation
|
#
40647558 |
|
03-May-2023 |
Chuck Silvers <chs@FreeBSD.org> |
fsck_ffs: fix the previous change that skipped pass 5 in some cases The previous change involved calling check_cgmagic() twice in a row for the same CG in order to differentiate when the CG was already ok vs. when the CG was rebuilt, but that doesn't work because the second call (which was supposed to rebuild the CG) returns 0 (indicating that the CG was not rebuilt) due to the prevfailcg check causing an early failure return. Fix this by moving the rebuild part of check_cgmagic() out into a separate function which is called by pass1() when it wants to rebuild a CG. Fixes: da86e7a20dc4a4b17e8d9e7630ed9b675cf71702 Reported by: pho Discussed with: mckusick Sponsored by: Netflix
|
#
da86e7a2 |
|
18-Apr-2023 |
Kirk McKusick <mckusick@FreeBSD.org> |
Skip Pass 5 in fsck_ffs(8) when corrupt cylinder groups remain unfixed. Pass 1 of fsck_ffs checks the integrity of all the cylinder groups. If any are found to have been corrupted it offers to rebuild them. Pass 5 then makes a second pass over the cylinder groups to validate their block and inode maps. Pass 5 assumes that the cylinder groups are not corrupted and can segment fault if they are corrupted. Rather than rerunning the corruption checks a second time in pass 5, this fix keeps track whether any corrupt cylinder groups were found but not fixed in pass 1 either due to running with the -n flag or by explicitly answering `no' when asked whether to fix a corrupted cylinder group. If any corrupted cylinder groups remain after pass 1, fsck_ffs will decline to run pass 5. Instead it marks the filesystem as unclean so that fsck_ffs will need to be run again before the filesystem can be mounted. This patch cleans up and documents the return value from check_cgmagic(). It also renames the variable / parameter "rebuildcg" to "rebuiltcg". This parameter describes whether the cylinder group has been rebuilt rather than whether it should be rebuilt. Reported by: Chuck Silvers Reviewed by: Chuck Silvers MFC after: 1 week
|
#
5942b4b6 |
|
14-Feb-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
sys/param.h: Add _WANT_P_OSREL Use it instead of defining IN_RTLD by base sources that want P_OSREL_ defines in userspace, but are not rtld. This allows to remove abuse of IN_RTLD from userspace. Reviewed by: dchagin, markj, imp Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D38585
|
#
906c312b |
|
15-Jan-2023 |
Kirk McKusick <mckusick@FreeBSD.org> |
Document the mntopts(3) functions. The mntopts(3) functions support operations associated with a mount point. The main purpose of this commit is to document the mntopts(3) functions that now appear in 18 utilities in the base system. See mntopts(3) for the documentation details. The getmntopts() function appeared in 4.4BSD. The build_iovec(), build_iovec_argf(), free_iovec(), checkpath(), and rmslashes() functions were added with nmount(8) in FreeBSD 5.0. The getmntpoint() and chkdoreload() functions are being added in this commit. These functions should be in a library but for historic reasons are in a file in the sources for the mount(8) program. Thus, to access them the following lines need to be added to the Makefile of the program wanting to use them: SRCS+= getmntopts.c MOUNT= ${SRCTOP}/sbin/mount CFLAGS+= -I${MOUNT} .PATH: ${MOUNT} Once these changes have been MFC'ed to 13 they may be made into a library. Reviewed by: kib, gbe MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37907
|
#
460ed610 |
|
09-Nov-2022 |
Kirk McKusick <mckusick@FreeBSD.org> |
Add support for managing UFS/FFS snapshots to fsck_ffs(8). The kernel handles the managment of UFS/FFS snapshots. Since UFS/FFS updates filesystem data (rather than always writing changes to new locations like ZFS), the kernel must check every filesystem write to see if the block being written is part of a snapshot. If it is part of a snapshot, then the kernel must make a copy of the old block value into a newly allocated block for the snapshot before allowing the write to be done. Similarly, if a block is being freed, the kernel must check to see if it is part of a snapshot and let the snapshot claim the block rather than freeing it for future use. When a snapshot is freed, its blocks need to be offered to older snapshots and freed only if no older snapshots wish to claim them. When snapshots were added to UFS/FFS they were integrated into soft updates and just a small part of the management of snapshots needed to be added to fsck_ffs(8) as soft updates minimized the set of snapshot changes that might need correction. When journaling was added to soft updates a much more complete knowledge of snapshots needed to be added to fsck_ffs(8) for it to be able to properly handle the filesystem changes that a journal rollback needs to do (specifically the freeing and allocation of blocks). Since this functionality was unavailable, the use of snapshots was disabled when running with journaled soft updates. This set of changes imports the kernel code for the management of snapshots to fsck_ffs(8). With this code in place it will become possible to enable snapshots when running with journalled soft updates. The most immediate benefit will be the ability to use snapshots to take consistent filesystem dumps on live filesystems. Future work will be done to update fsck_ffs(8) to be able to use snapshots to run in background on live filesystems running with journaled soft updates. Reviewed by: kib Tested by: Peter Holm Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D36491
|
#
e6886616 |
|
13-Aug-2022 |
Kirk McKusick <mckusick@FreeBSD.org> |
Move the ability to search for alternate UFS superblocks from fsck_ffs(8) into ffs_sbsearch() to allow use by other parts of the system. Historically only fsck_ffs(8), the UFS filesystem checker, had code to track down and use alternate UFS superblocks. Since fsdb(8) used much of the fsck_ffs(8) implementation it had some ability to track down alternate superblocks. This change extracts the code to track down alternate superblocks from fsck_ffs(8) and puts it into a new function ffs_sbsearch() in sys/ufs/ffs/ffs_subr.c. Like ffs_sbget() and ffs_sbput() also found in ffs_subr.c, these functions can be used directly by the kernel subsystems. Additionally they are exported to the UFS library, libufs(8) so that they can be used by user-level programs. The new functions added to libufs(8) are sbfind(3) that is an alternative to sbread(3) and sbsearch(3) that is an alternative to sbget(3). See their manual pages for further details. The utilities that have been changed to search for superblocks are dumpfs(8), fsdb(8), ffsinfo(8), and fsck_ffs(8). Also, the prtblknos(8) tool found in tools/diag/prtblknos searches for superblocks. The UFS specific mount code uses the superblock search interface when mounting the root filesystem and when the administrator doing a mount(8) command specifies the force flag (-f). The standalone UFS boot code (found in stand/libsa/ufs.c) uses the superblock search code in the hope of being able to get the system up and running so that fsck_ffs(8) can be used to get the filesystem cleaned up. The following utilities have not been changed to search for superblocks: clri(8), tunefs(8), snapinfo(8), fstyp(8), quot(8), dump(8), fsirand(8), growfs(8), quotacheck(8), gjournal(8), and glabel(8). When these utilities fail, they do report the cause of the failure. The one exception is the tasting code used to try and figure what a given disk contains. The tasting code will remain silent so as not to put out a slew of messages as it trying to taste every new mass storage device that shows up. Reviewed by: kib Reviewed by: Warner Losh Tested by: Peter Holm Differential Revision: https://reviews.freebsd.org/D36053 Sponsored by: The FreeBSD Foundation
|
#
299fcf40 |
|
09-Apr-2022 |
Gordon Bergling <gbe@FreeBSD.org> |
fsck_ffs(8): Fix a typo in a source code comment - s/it it/if it/ MFC after: 3 days
|
#
c5d476c9 |
|
23-Feb-2022 |
Kirk McKusick <mckusick@FreeBSD.org> |
Update fsdb(8) to reflect new structure of fsck_ffs(8). The cleanup of fsck_ffs(8) in commit c0bfa109b942659f6 broke fsdb(8). This commit adds the one-line update needed in fsdb(8) to make it work with the new fsck_ffs(8) structure. Reported by: Chuck Silvers Tested by: Chuck Silvers MFC after: 3 days
|
#
9583be04 |
|
04-Feb-2022 |
Kirk McKusick <mckusick@FreeBSD.org> |
Properly fix parameter to sysctlnametomib().
|
#
504cb544 |
|
04-Feb-2022 |
Kirk McKusick <mckusick@FreeBSD.org> |
Fix parameter to sysctlnametomib();
|
#
c0bfa109 |
|
04-Feb-2022 |
Kirk McKusick <mckusick@FreeBSD.org> |
Have fsck_ffs(8) properly correct superblock check-hash failures. Part of the problem was that fsck_ffs would read the superblock multiple times complaining and repairing the superblock check hash each time and then at the end failing to write out the superblock with the corrected check hash. This fix reads the superblock just once and if the check hash is corrected ensures that the fixed superblock gets written. Tested by: Peter Holm PR: 245916 MFC after: 1 week Sponsored by: Netflix
|
#
c82df0a0 |
|
05-Jan-2022 |
Kirk McKusick <mckusick@FreeBSD.org> |
Whitespace and capitalization cleanups. No changes intended. Sponsored by: Netflix
|
#
0c5a5925 |
|
11-Jul-2021 |
Robert Wing <rew@FreeBSD.org> |
fsck_ffs: fix background fsck in preen mode Background checks are only allowed for mounted filesystems - don't try to open the device for writing when performing a background check. While here, remove a debugging printf that's commented out. PR: 256746 Fixes: 5cc52631b3b88dfc36d8049dc8bece8573c5f9af Reviewed by: mckusick MFC After: 1 week Differential Revision: https://reviews.freebsd.org/D30880
|
#
ed1a156b |
|
29-Jun-2021 |
Chuck Silvers <chs@FreeBSD.org> |
fsck_ffs: don't try to write in read-only mode Skip trying to change fs_mtime for SU+J if we are running read-only. Reviewed by: mckusick Sponsored by: Netflix
|
#
441e69e4 |
|
02-Jun-2021 |
Robert Wing <rew@FreeBSD.org> |
fsck_ufs: fix segfault with gjournal The segfault was being hit in ckfini() (sbin/fsck_ffs/fsutil.c) while attempting to traverse the buffer cache. The tail queue used for the buffer cache was not initialized before dropping into gjournal_check(). Initialize the buffer cache before calling gjournal_check(). PR: 245907 Reviewed by: jhb, mckusick MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D30537
|
#
9b0f1d64 |
|
28-May-2021 |
Robert Wing <rew@FreeBSD.org> |
Revert "Fix fsck_ufs segfaults with gjournal (SU+J)" Fix fsck for 32-bit platforms. This reverts commit f190f9193bc10a8193c87e0a02fa91400e4eb159.
|
#
f190f919 |
|
21-May-2021 |
Kirk McKusick <mckusick@FreeBSD.org> |
Fix fsck_ufs segfaults with gjournal (SU+J) The segfault was being hit in ckfini() (sbin/fsck_ffs/fsutil.c) while attempting to traverse the buffer cache to flush dirty buffers. The tail queue used for the buffer cache was not initialized before dropping into gjournal_check(). Move the buffer initialization earlier so that it has been done before calling gjournal_check(). Reported by: crypt47, nvass Fix by: Robert Wing Tested by: Robert Wing PR: 255030 PR: 255979 MFC after: 3 days Sponsored by: Netflix
|
#
fc56fd26 |
|
02-Apr-2021 |
Kirk McKusick <mckusick@FreeBSD.org> |
Ensure that all allocated data structures in fsck_ffs are freed. Several large data structures are allocated by fsck_ffs to track resource usage. Most but not all were deallocated at the end of checking each filesystem. This commit consolidates the freeing of all data structures in one place and adds one that had previously been missing. It is important to clean up these data structures as they can be large. If the previous allocations have not been freed, fsck_ffs can run out of address space when many large filesystems are being checked. An alternative would be to fork a new instance of fsck_ffs for each filesystem to be checked, but we choose to free the small set of large structures to save the fork overhead. Reported by: Chuck Silvers Tested by: Chuck Silvers MFC after: 7 days Sponsored by: Netflix
|
#
5cc52631 |
|
06-Jan-2021 |
Kirk McKusick <mckusick@FreeBSD.org> |
Rewrite the disk I/O management system in fsck_ffs(8). Other than making fsck_ffs(8) run faster, there should be no functional change. The original fsck_ffs(8) had its own disk I/O management system. When gjournal(8) was added to FreeBSD 7, code was added to fsck_ffs(8) to do the necessary gjournal rollback. Rather than use the existing fsck_ffs(8) disk I/O system, it wrote its own from scratch. Similarly when journalled soft updates were added in FreeBSD 9, code was added to fsck_ffs(8) to do the necessary journal rollback. And once again, rather than using either of the existing fsck_ffs(8) disk I/O systems, it wrote its own from scratch. Lastly the fsdb(8) utility uses the fsck_ffs(8) disk I/O management system. In preparation for making the changes necessary to enable snapshots to be taken when using journalled soft updates, it was necessary to have a single disk I/O system used by all the various subsystems in fsck_ffs(8). This commit merges the functionality required by all the different subsystems into a single disk I/O system that supports all of their needs. In so doing it picks up optimizations from each of them with the results that each of the subsystems does fewer reads and writes than it did with its own customized I/O system. It also greatly simplifies making changes to fsck_ffs(8) since everything goes through a single place. For example the ginode() function fetches an inode from the disk. When inode check hashes were added, they previously had to be checked in the code implementing inode fetch in each of the three different disk I/O systems. Now they need only be checked in ginode(). Tested by: Peter Holm Sponsored by: Netflix
|
#
e8337044 |
|
01-Sep-2020 |
Chuck Silvers <chs@FreeBSD.org> |
Move all of the error prints in readsb() from stderr to stdout. The only output from fsck that should go to stderr is the usage message. if setup() fails then exit with EEXIT rather than 0. Reviewed by: mckusick Sponsored by: Netflix
|
#
f644caad |
|
15-Aug-2020 |
Kirk McKusick <mckusick@FreeBSD.org> |
Use the sbput() function to write alternate superblocks so that they get a checkhash. PR: 246983 Sponsored by: Netflix
|
#
c094263a |
|
24-Dec-2019 |
Kirk McKusick <mckusick@FreeBSD.org> |
When running fsck_ffs manually, do not ask: USE JOURNAL? [yn] when the journal timestamp does not match the filesystem mount time as we are just going to print an error and fall through to a full fsck. Instead, just run a full fsck. Requested by: Bjoern A. Zeeb (bz) MFC after: 7 days
|
#
0061238f |
|
03-May-2019 |
Kirk McKusick <mckusick@FreeBSD.org> |
This update eliminates a kernel stack disclosure bug in UFS/FFS directory entries that is caused by uninitialized directory entry padding written to the disk. It can be viewed by any user with read access to that directory. Up to 3 bytes of kernel stack are disclosed per file entry, depending on the the amount of padding the kernel needs to pad out the entry to a 32 bit boundry. The offset in the kernel stack that is disclosed is a function of the filename size. Furthermore, if the user can create files in a directory, this 3 byte window can be expanded 3 bytes at a time to a 254 byte window with 75% of the data in that window exposed. The additional exposure is done by removing the entry, creating a new entry with a 4-byte longer name, extracting 3 more bytes by reading the directory, and repeating until a 252 byte name is created. This exploit works in part because the area of the kernel stack that is being disclosed is in an area that typically doesn't change that often (perhaps a few times a second on a lightly loaded system), and these file creates and unlinks themselves don't overwrite the area of kernel stack being disclosed. It appears that this bug originated with the creation of the Fast File System in 4.1b-BSD (Circa 1982, more than 36 years ago!), and is likely present in every Unix or Unix-like system that uses UFS/FFS. Amazingly, nobody noticed until now. This update also adds the -z flag to fsck_ffs to have it scrub the leaked information in the name padding of existing directories. It only needs to be run once on each UFS/FFS filesystem after a patched kernel is installed and running. Submitted by: David G. Lawrence <dg@dglawrence.com> Reviewed by: kib MFC after: 1 week
|
#
8f829a5c |
|
11-Dec-2018 |
Kirk McKusick <mckusick@FreeBSD.org> |
Continuing efforts to provide hardening of FFS. This change adds a check hash to the filesystem inodes. Access attempts to files associated with an inode with an invalid check hash will fail with EINVAL (Invalid argument). Access is reestablished after an fsck is run to find and validate the inodes with invalid check-hashes. This check avoids a class of filesystem panics related to corrupted inodes. The hash is done using crc32c. Note this check-hash is for the inode itself and not any of its indirect blocks. Check-hash validation may be extended to also cover indirect block pointers, but that will be a separate (and more costly) feature. Check hashes are added only to UFS2 and not to UFS1 as UFS1 is primarily used in embedded systems with small memories and low-powered processors which need as light-weight a filesystem as possible. Reviewed by: kib Tested by: Peter Holm Sponsored by: Netflix
|
#
9fc5d538 |
|
13-Nov-2018 |
Kirk McKusick <mckusick@FreeBSD.org> |
In preparation for adding inode check-hashes, clean up and document the libufs interface for fetching and storing inodes. The undocumented getino / putino interface has been replaced with a new getinode / putinode interface. Convert the utilities that had been using the undocumented interface to use the new documented interface. No functional change (as for now the libufs library does not do inode check-hashes). Reviewed by: kib Tested by: Peter Holm Sponsored by: Netflix
|
#
ec888383 |
|
23-Oct-2018 |
Kirk McKusick <mckusick@FreeBSD.org> |
Continuing efforts to provide hardening of FFS, this change adds a check hash to the superblock. If a check hash fails when an attempt is made to mount a filesystem, the mount fails with EINVAL (Invalid argument). This avoids a class of filesystem panics related to corrupted superblocks. The hash is done using crc32c. Check hases are added only to UFS2 and not to UFS1 as UFS1 is primarily used in embedded systems with small memories and low-powered processors which need as light-weight a filesystem as possible. Reviewed by: kib Tested by: Peter Holm Sponsored by: Netflix
|
#
31461aa2 |
|
08-Feb-2018 |
Kirk McKusick <mckusick@FreeBSD.org> |
Include files missed in 329051.
|
#
469759f8 |
|
15-Jan-2018 |
David Bright <dab@FreeBSD.org> |
Exit fsck_ffs with non-zero status when file system is not repaired. When the fsck_ffs program cannot fully repair a file system, it will output the message PLEASE RERUN FSCK. However, it does not exit with a non-zero status in this case (contradicting the man page claim that it "exits with 0 on success, and >0 if an error occurs." The fsck rc-script (when running "fsck -y") tests the status from fsck (which passes along the exit status from fsck_ffs) and issues a "stop_boot" if the status fails. However, this is not effective since fsck_ffs can return zero even on (some) errors. Effectively, it is left to a later step in the boot process when the file systems are mounted to detect the still-unclean file system and stop the boot. This change modifies fsck_ffs so that when it cannot fully repair the file system and issues the PLEASE RERUN FSCK message it also exits with a non-zero status. While here, the fsck_ffs man page has also been updated to document the failing exit status codes used by fsck_ffs. Previously, only exit status 7 was documented. Some of these exit statuses are tested for in the fsck rc-script, so they are clearly depended upon and deserve documentation. Reviewed by: mckusick, vangyzen, jilles (manpages) MFC after: 1 week Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D13862
|
#
8a16b7a1 |
|
20-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
General further adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 3-Clause license. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point.
|
#
91882068 |
|
09-Oct-2017 |
Kirk McKusick <mckusick@FreeBSD.org> |
Do not report the filesystem as modified when the only change is to update the timestamp in the superblock. Reported by: Peter Holm MFC after: 1 week
|
#
fbbd9655 |
|
28-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Renumber copyright clause 4 Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point. Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96
|
#
1dc349ab |
|
15-Feb-2017 |
Ed Maste <emaste@FreeBSD.org> |
prefix UFS symbols with UFS_ to reduce namespace pollution Specifically: ROOTINO -> UFS_ROOTINO WINO -> UFS_WINO NXADDR -> UFS_NXADDR NDADDR -> UFS_NDADDR NIADDR -> UFS_NIADDR MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency) Also prefix ext2's and nandfs's NDADDR and NIADDR with EXT2_ and NANDFS_ Reviewed by: kib, mckusick Obtained from: NetBSD MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D9536
|
#
db83b143 |
|
14-Feb-2017 |
Renato Botelho <garga@FreeBSD.org> |
* Add missing parameters to usage() * Add missing parameters to manpage synopsis * Add missing description of -d flag * Sort flags descriptions Reviewed by: allanjude, kib Approved by: allanjude MFC after: 1 week Sponsored by: Rubicon Communications (Netgate) Differential Revision: https://reviews.freebsd.org/D9152
|
#
6a5972db |
|
18-Aug-2016 |
Kirk McKusick <mckusick@FreeBSD.org> |
Fsck_ufs was using an int rather than a ufs2_daddr_t to store the alternate superblock location when given in the -b option. When int is 32-bits, block numbers larger than 2^32 would get truncated. This commit changes the storage fpr the alternate superblock location to a ufs2_daddr_t. Submitted by: Dmitry Sivachenko <trtrmitya@gmail.com>
|
#
333d0284 |
|
11-May-2016 |
Conrad Meyer <cem@FreeBSD.org> |
fsck_ffs: Don't overrun mount device buffer Maybe this case is impossible. Either way, when attempting to "/dev/"-prefix a non-global device name, check that we do not overrun the f_mntfromname buffer. In this case, truncating (with strlcpy or similar) would not be useful, since the f_mntfromname result of getmntpt() is passed directly to open(2) later. Reported by: Coverity CID: 1006789 Sponsored by: EMC / Isilon Storage Division
|
#
7d5e6562 |
|
12-Apr-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
fsck_ffs for pointers replace 0 with NULL. Found with devel/coccinelle. Reviewed by: mckusick
|
#
7703a6ff |
|
29-Dec-2013 |
Scott Long <scottl@FreeBSD.org> |
Add the -R option to allow fsck_ffs to restart itself when too many critical errors have been detected in a particular run. Clean up the global state variables so that a restart can happen correctly. Separate the global variables in fsck_ffs and fsdb to their own file. This fixes header sharing with fscd. Correctly initialize, static-ize, and remove global variables as needed in dir.c. This fixes a problem with lost+found directories that was causing a segfault. Correctly initialize, static-ize, and remove global variables as needed in suj.c. Initialize the suj globals before allocating the disk object, not after. Also ensure that 'preen' mode doesn't conflict with 'restart' mode Submitted by: scottl, max Reviewed by: max, mckusick (earlier version) Obtained from: Netflix MFC after: 3 days
|
#
ce779f37 |
|
30-Jul-2013 |
Scott Long <scottl@FreeBSD.org> |
Add a 'surrender' mode to fsck_ffs. With the -S flag, once hard read errors are encountered, the fsck will stop instead of wasting time chewing through possibly other errors. Obtained from: Netflix MFC after: 3 days
|
#
2b5373de |
|
29-Apr-2013 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Add a -Z option which zeroes unused blocks. It can be combined with -E, in which case unused blocks are first zeroed and then erased. Reviewed by: mckusick MFC after: 3 weeks
|
#
ed75b5a1 |
|
23-Feb-2013 |
Kirk McKusick <mckusick@FreeBSD.org> |
When running with the -d option, instrument fsck_ffs to track the number, data type, and running time of its I/O operations. No functional changes.
|
#
a1c9ec3c |
|
28-Sep-2012 |
Matthew D Fleming <mdf@FreeBSD.org> |
Fix some nearby type and style errors. Pointed out by: bde
|
#
623d7cb6 |
|
27-Sep-2012 |
Matthew D Fleming <mdf@FreeBSD.org> |
Fix fsck_ffs build with a 64-bit ino_t. Original code by: Gleb Kurtsou
|
#
bd3c72d0 |
|
12-Sep-2012 |
David E. O'Brien <obrien@FreeBSD.org> |
Simply printf-like strings and outdent strings so that it is easy to see if they fit on a standard terminal.
|
#
1d449f95 |
|
02-Sep-2011 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Forgot this nit in r221107. Approved by: re (kib)
|
#
8d3dfc26 |
|
29-Apr-2011 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Add an -E option to mirror newfs's. The idea is that if you have a system that was built before ffs grew support for TRIM, your filesystem will have plenty of free blocks that the flash chip doesn't know are free, so it can't take advantage of them for wear leveling. Once you've upgraded your kernel, you enable TRIM on the filesystem (tunefs -t enable), then run fsck_ffs -E on it before mounting it. I tested this patch by half-filling an mdconfig'ed filesystem image, running fsck_ffs -E on it, then verifying that the contents were not damaged by comparing them to a pristine copy using rsync's checksum functionality. There is no reliable way to test it on real hardware. Many thanks to mckusick@, who provided the tricky parts of this patch and reviewed the final version. Reviewed by: mckusick@ MFC after: 3 weeks
|
#
d40c0664 |
|
26-Apr-2011 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Mechanical whitespace cleanup. MFC after: 3 weeks
|
#
7649cb00 |
|
23-Jan-2011 |
Kirk McKusick <mckusick@FreeBSD.org> |
The dump, fsck_ffs, fsdb, fsirand, newfs, makefs, and quot utilities include sys/time.h instead of time.h. This include is incorrect as per the manpages for the APIs and the POSIX definitions. This commit replaces sys/time.h where necessary with time.h. The commit also includes some minor style(9) header fixup in newfs. This commit is part of a larger effort by Garrett Cooper started in //depot/user/gcooper/posix-conformance-work/ -- to make FreeBSD more POSIX compliant. Submitted by: Garrett Cooper yanegomi at gmail dot com
|
#
a7d5f7eb |
|
19-Oct-2010 |
Jamie Gritton <jamie@FreeBSD.org> |
A new jail(8) with a configuration file, to replace the work currently done by /etc/rc.d/jail.
|
#
08bb15b9 |
|
03-Aug-2010 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
One question mark per question; everything else is just exaggerating. reply() will output a '?', when printing the question along with [yn], so no need to have another here.
|
#
edad6026 |
|
21-Jun-2010 |
Xin LI <delphij@FreeBSD.org> |
Improve fsck robustness for SU+J cases: - Use err/errx only when the case is really fatal. For other cases, fall back to full fsck instead of quiting fsck. - Plug a memory leak. - Avoid divide by zero when printing summary. - Output "FILE SYSTEM IS MARKED CLEAN" when a successful journal recovering is done. - When -f is specified, do full fsck instead of journal recovery.
|
#
113db2dd |
|
24-Apr-2010 |
Jeff Roberson <jeff@FreeBSD.org> |
- Merge soft-updates journaling from projects/suj/head into head. This brings in support for an optional intent log which eliminates the need for background fsck on unclean shutdown. Sponsored by: iXsystems, Yahoo!, and Juniper. With help from: McKusick and Peter Holm
|
#
fe0506d7 |
|
09-Mar-2010 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Create the altix project branch. The altix project will add support for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting is a two-module system, consisting of a base compute module and a CPU expansion module. SGI's NUMAFlex architecture can be an excellent platform to test CPU affinity and NUMA-aware features in FreeBSD.
|
#
21be55cc |
|
06-Jan-2010 |
Kirk McKusick <mckusick@FreeBSD.org> |
Add some error messages suggested in PR bin/138043. The code to correct the problem was added in r176575 by delphij on 2008-02-25. PR: 138043 Reported by: Heikki Suonsivu
|
#
910b491e |
|
03-Feb-2009 |
Kirk McKusick <mckusick@FreeBSD.org> |
Update the actions previously attempted by the -D option to make them robust. With these changes fsck is now able to detect and reliably rebuild corrupted cylinder group maps. The -D option is no longer necessary as it has been replaced by a prompt asking whether the corrupted cylinder group should be rebuilt and doing so when requested. These actions are only offered and taken when running fsck in manual mode. Corrupted cylinder groups found during preen mode cause the fsck to fail. Add the -r option to free up excess unused inodes. Decreasing the number of preallocated inodes reduces the running time of future runs of fsck and frees up space that can allocated to files. The -r option is ignored when running in preen mode. Reviewed by: Xin LI <delphij@> Sponsored by: Rsync.net
|
#
111a5220 |
|
30-Jan-2009 |
David E. O'Brien <obrien@FreeBSD.org> |
Add the '-C' "check clean" flag. If the FS is marked clean, skip file system checking. However, if the file system is not clean, perform a full fsck. Reviewed by: delphij Obtained from: Juniper Networks
|
#
7f94ca72 |
|
20-Jan-2009 |
Xin LI <delphij@FreeBSD.org> |
Rename option 'C' to 'D' (damaged) in order to avoid a conflict with upcoming Juniper 'C' (clean) flag. Requested by: obrien MFC after: 1 week
|
#
defc9d50 |
|
23-Dec-2008 |
David E. O'Brien <obrien@FreeBSD.org> |
Garbage collect 'fflags'.
|
#
d7f03759 |
|
19-Oct-2008 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Import the HEAD csup code which is the basis for the cvsmode work.
|
#
6910e995 |
|
22-Aug-2008 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Instead of passing MNT_UPDATE, MNT_SNAPSHOT, MNT_RELOAD from userspace to kernel via nmount(), pass in the strings "update", "snapshot", "reload". We want to move away from passing MNT_ flags from userspace -> kernel via nmount(), and instead favor passing the string options.
|
#
4f387965 |
|
08-Jun-2008 |
Stanislav Sedov <stas@FreeBSD.org> |
- Display '-C' option in usage(). Approved by: kib
|
#
14320f1e |
|
10-Apr-2008 |
Xin LI <delphij@FreeBSD.org> |
Add a new flag, '-C' which enables a special mode that is intended for catastrophic recovery. Currently, this mode only validates whether a cylindergroup has good signature data, and prompts the user to decide whether to clear it as a whole. This mode is useful when there is data damage on a disk and you are working on copy of the original disk, as fsck_ffs(8) tends to abnormally exit in such case, as a last resort to recover data from the disk.
|
#
205e074f |
|
03-Apr-2008 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Add comment about specifying "ro" mount option when doing an update mount on a read-only file system. Requested by: yar
|
#
d8f7b008 |
|
05-Mar-2008 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
For a mounted file system which is read-only, when doing the MNT_RELOAD, pass in "ro" and "update" string mount options to nmount() instead of MNT_RDONLY and MNT_UPDATE flags. Due to the complexity of the mount parsing code especially with respect to the root file system, passing in MNT_RDONLY and MNT_UPDATE flags would do weird things and would cause fsck to convert the root file system from a read-only mount to read-write. To test: - boot into single user mode - show mounted file systems with: mount - root file system should be mounted read-only - fsck / - show mounted file systems with: mount - root file system should still be mounted read-only PR: 120319 MFC after: 1 month Reported by: yar
|
#
22a122f3 |
|
04-Mar-2008 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Remove hacks to filter out MNT_ROOTFS, since we now do that internally inside nmount() in revision 1.267 of vfs_mount.c.
|
#
24adb851 |
|
18-Sep-2007 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Convert fsck_ffs to nmount(). This seems to solve an intermittent problem where MNT_RELOAD fails for the root file system. Reported and tested by: phk Approved by: re (bmah)
|
#
db3f838d |
|
10-Aug-2007 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Fix fscking gjournaled root file system: root file system is already mounted read-only, so we can't simply exit right after calling gjournal_check(), instead we need to ask about super block reload. Submitted by: Niki Denev <niki@totalterror.net> PR: misc/113889 Approved by: re (kensmith)
|
#
aef8d244 |
|
31-Oct-2006 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Implements gjournal support. If file system has gjournal support enabled and -p flag was given perform fast file system checking (bascially only garbage collecting of orphaned objects). Rename bread() to blread() and bwrite() to blwrite() as we now link to the libufs library, which also implement functions with that names. Sponsored by: home.pl
|
#
8d646af5 |
|
10-Feb-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Sync program's usage() with manpage's SYNOPSIS.
|
#
d90b3ef3 |
|
12-Dec-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Do not pass random bits as mount arguments.
|
#
af6726e6 |
|
08-Oct-2004 |
Don Lewis <truckman@FreeBSD.org> |
Eliminate linked list used to track inodes with an initial link count of zero and instead encode this information in the inode state. Pass 4 performed a linear search of this list for each inode in the file system, which performs poorly if the list is long. Reviewed by: sam & keramida (an earlier version of the patch), mckusick MFC after: 1 month
|
#
4c723140 |
|
09-Apr-2004 |
Mark Murray <markm@FreeBSD.org> |
Remove advertising clause from University of California Regent's license, per letter dated July 22, 1999. Approved by: core, imp
|
#
1660ae87 |
|
28-Feb-2004 |
Scott Long <scottl@FreeBSD.org> |
In the case of a background fsck, periodically update the process title with a progress update.
|
#
ff76fc7f |
|
07-Oct-2003 |
Kirk McKusick <mckusick@FreeBSD.org> |
Create a .snap directory mode 770 group operator in the root of each 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.
|
#
e4e07764 |
|
01-Aug-2003 |
Ruslan Ermilov <ru@FreeBSD.org> |
Spell "file system" correctly.
|
#
c69284ca |
|
03-May-2003 |
David E. O'Brien <obrien@FreeBSD.org> |
Use __FBSDID() to quiet GCC 3.3 warnings.
|
#
ce66ddb7 |
|
21-Aug-2002 |
Tom Rhodes <trhodes@FreeBSD.org> |
s/filesystem/file system/g as discussed on -developers
|
#
84fc0d7e |
|
30-Jul-2002 |
Maxime Henrion <mux@FreeBSD.org> |
Fix a bunch of format string warnings which broke the sparc64 build. Tested on: sparc64, i386
|
#
599304a4 |
|
30-Jul-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Warning cleanup. Format changes by peter
|
#
1c85e6a3 |
|
21-Jun-2002 |
Kirk McKusick <mckusick@FreeBSD.org> |
This commit adds basic support for the UFS2 filesystem. The UFS2 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>
|
#
3468b317 |
|
15-May-2002 |
Tom Rhodes <trhodes@FreeBSD.org> |
more file system > filesystem
|
#
d3974088 |
|
22-Apr-2002 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Usage style sweep: spell "usage" with a small 'u'. Also change one case of blatant __progname abuse (several more remain) This commit does not touch anything in src/{contrib,crypto,gnu}/.
|
#
8e2e167c |
|
24-Mar-2002 |
Mark Murray <markm@FreeBSD.org> |
Replace __progname with the documented, more acceptable and functionally identical getprogname(3).
|
#
b70cd7ee |
|
20-Mar-2002 |
Warner Losh <imp@FreeBSD.org> |
o __P removed o ansi function prototypes o unifdef -D__STDC__ o __dead2 on usage prototype o remove now-bogus main prototype
|
#
bf58d635 |
|
17-Nov-2001 |
Ian Dowse <iedowse@FreeBSD.org> |
Fix a large number of -Wall, -Wformat and -W compiler warnings. 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.
|
#
f4a225c7 |
|
29-Apr-2001 |
Kirk McKusick <mckusick@FreeBSD.org> |
Update usage message with new options. Submitted by: Ruslan Ermilov <ru@FreeBSD.org>
|
#
15fca934 |
|
24-Apr-2001 |
Kirk McKusick <mckusick@FreeBSD.org> |
Add support for the -F flag which determines whether a specified filesystem needs foreground checking (usually at boot time) or can defer to background checking (after the system is up and running). See the manual page, fsck_ffs(8), for details on the -F and -B options. These options are primarily intended for use by the fsck front end. All output is directed to stdout so that the output is coherent when redirected to a file or a pipe. Unify the code with the fsck front end that allows either a device or a mount point to be specified as the argument to be checked.
|
#
38375c40 |
|
16-Apr-2001 |
Kirk McKusick <mckusick@FreeBSD.org> |
Minor background cleanups: 1) Set the FS_NEEDSFSCK flag when unexpected problems are encountered. 2) Clear the FS_NEEDSFSCK flag after a successful foreground cleanup. 3) Refuse to run in background when the FS_NEEDSFSCK flag is set. 4) Avoid taking and removing a snapshot when the filesystem is already clean. 5) Properly implement the force cleaning (-f) flag when in preen mode. Note that you need to have revision 1.21 (date: 2001/04/14 05:26:28) of fs.h installed in <ufs/ffs/fs.h> defining FS_NEEDSFSCK for this to compile.
|
#
7578c6ab |
|
21-Mar-2001 |
Kirk McKusick <mckusick@FreeBSD.org> |
Additions to run checks on live filesystems. This change will not affect current systems until fsck is modified to use these new facilities. To try out this change, set the fsck passno to zero in /etc/fstab to cause the filesystem to be mounted without running fsck, then run `fsck_ffs -p -B <filesystem>' after the system has been brought up multiuser to run a background cleanup on <filesystem>. Note that the <filesystem> in question must have soft updates enabled.
|
#
6db798ca |
|
15-Dec-2000 |
Ian Dowse <iedowse@FreeBSD.org> |
Add a simple SIGINFO handler to fsck_ffs. Shortly after receipt of a SIGINFO (normally via Ctrl-T), a line will be output indicating the current phase number and progress information relevant to the current phase. Approved by: mckusick
|
#
9ea6f4f0 |
|
09-Oct-2000 |
Adrian Chadd <adrian@FreeBSD.org> |
Reviewed by: rwatson, bp Approved by: rwatson Obtained from: NetBSD-current source tree The beginnings of the fsck wrappers stuff from NetBSD. This particular commit brings a newly repo-copied sbin/fsck_ffs/ (from sbin/fsck/) into fsck wrappers mode. A quick overview (the code reflects this): * Documentation changed to reflect fsck_ffs instead of fsck * Simply acts on a single filesystem, doesn't try to do any multiple filesystem magic - this is done by the fsck wrappers now And then specific to fsck_ffs: * link to /sbin/fsck_4.2bsd and /sbin/fsck_ufs. This is because right now the filesystem is of type ufs not ffs, and that during autodetection the labeltype rather than the VFS type is used - this is because when doing an autodetection of filesystem type in the fsck wrapper program, it does not have any link between label type (4.2bsd, vinum, etc) and VFS string. Note that this shouldn't break a build since the required buildworld Makefile magic and import of the fsck wrapper code into src/sbin/fsck/ will happen in a seperate commit.
|
#
aa5344b7 |
|
10-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Fix the use of an uninitialized variable in the previous commit. Also, in addition to the previous log message, the last change had a fix for the case where where f.mntfromname is a relative path like da0a. Submitted by: bde
|
#
d0e1503b |
|
10-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
- Style/bde changes. - Don't use realpath as stat does the right thing. - Only check ufs filesystems in getmntpt. - Dont' bother checking that the ufs-mounted-on device is a special file. It *must* be a special file, or ufs wouldn't have mounted it. Submitted by: Paul Saab <ps@yahoo-inc.com>
|
#
571b29ee |
|
30-Dec-1999 |
Peter Wemm <peter@FreeBSD.org> |
Make fsck(8) do a MNT_RELOAD after cleaning for all read-only mounted filesystems, not just for the root fs. Reviewed by: mckusick Submitted by: Paul Saab <ps@yahoo-inc.com>
|
#
7f3dea24 |
|
27-Aug-1999 |
Peter Wemm <peter@FreeBSD.org> |
$Id$ -> $FreeBSD$
|
#
6b100474 |
|
02-Dec-1998 |
Julian Elischer <julian@FreeBSD.org> |
Cosmetic and documentation changes brought from earlier FreeBSD versions. (e.g. RCS Id:)
|
#
d33e92f9 |
|
02-Dec-1998 |
Julian Elischer <julian@FreeBSD.org> |
Reviewed by: Don Lewis <Don.Lewis@tsc.tdk.com> Submitted by: Kirk McKusick <mckusick@McKusick.COM> Obtained from: Mckusick, BSDI and a host of others This exactly matches Kirks sources imported under the Tag MCKUSICK2. These are as supplied by kirk with one small change needed to compile under freeBSD. Some FreeBSD patches will be added back, though many have been added to Kirk's sources already.
|
#
33966081 |
|
04-Nov-1998 |
Matt Jacob <mjacob@FreeBSD.org> |
For large filesystems you can run past default resource limits causing fsck to exit unhappily. Fix this by doing a getrlimit/setrlimit for RLIMIT_DATA. I made the same fix in NetBSD. Reviewed by: dg@root.com
|
#
2d34272b |
|
15-Jun-1998 |
Philippe Charnier <charnier@FreeBSD.org> |
Correct use of .Nm. Add rcsid. Remove unused #includes. Use err(3).
|
#
b1897c19 |
|
08-Mar-1998 |
Julian Elischer <julian@FreeBSD.org> |
Reviewed by: dyson@freebsd.org (john Dyson), dg@root.com (david greenman) Submitted by: Kirk McKusick (mcKusick@mckusick.com) Obtained from: WHistle development tree
|
#
ccc3fadf |
|
20-Dec-1997 |
Bruce Evans <bde@FreeBSD.org> |
Fixed style bugs in the printing of statistics after preening. Use floating point better in the percentage calculation there to avoid overflow when there are more than about 20 million fragments. Start using floating point in the other percentage calculation to avoid overflow when there are more than about 2 million fragments. Fixed printf format strings. Converted sccsid to rcsid.
|
#
2d187af5 |
|
20-Dec-1997 |
Bruce Evans <bde@FreeBSD.org> |
Don't attempt to print the statistics for a "clean" preened filesystem when there isn't even a filesystem. Attempting to print them tended to cause SIGSEGV or SIGFPE depending on how far setup() got before it returned 0. This was broken in the previous revision by removing a return statement that the previous case depended on falling into. PR: 4840 (fixed by this commit) PR: 2537 (possibly fixed by Lite2 merge and later changes. setup() does more checking now)
|
#
32f189ac |
|
13-Mar-1997 |
Peter Wemm <peter@FreeBSD.org> |
Kill the Lite2 early "filesystem clean abort" check and go back to something closer to how we used to do it. The Lite2 way is to check the "fsclean" flag in the superblock and stop there if so (during preen). We now do the various superblock sanity checks that we used to do before since it's cheap. We now get the filesystem state summary again instead of "FILESYSTEM CLEAN; CHECKING SKIPPED" (or whatever).
|
#
473e3a9a |
|
12-Mar-1997 |
Bruce Evans <bde@FreeBSD.org> |
Finished (?) merging with Lite2: cleaned up #include mess. Updated getopt() usage.
|
#
780a5c1e |
|
10-Mar-1997 |
Peter Wemm <peter@FreeBSD.org> |
Merge from Lite2. Note that Lite2 has it's own filesystem clean check skipping code that overrides ours sooner. One should be eliminated, but for now it works.
|
#
47ceb636 |
|
08-Oct-1996 |
Guido van Rooij <guido@FreeBSD.org> |
Fix the case where fsck would not see sparse directories and the kernel would panic. If such a thing is fixed fsck needs a rerun (and bugs the user to do so). Reviewed by: Kirk McKusick
|
#
c0fe8534 |
|
23-Oct-1995 |
Andrey A. Chernov <ache@FreeBSD.org> |
Remove unneeded ctype.h
|
#
5ebc7e62 |
|
30-May-1995 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
Remove trailing whitespace.
|
#
31f4ab50 |
|
02-Apr-1995 |
Bruce Evans <bde@FreeBSD.org> |
Submitted by: phk, added to by bde Fix all the warnings from `gcc -Wall'.
|
#
802cd8e6 |
|
21-Aug-1994 |
David Greenman <dg@FreeBSD.org> |
Better support for clean bit: prompt the user to fix it if it's wrong when not preening, and indicate if it was fixed when preening.
|
#
41cee58c |
|
20-Aug-1994 |
David Greenman <dg@FreeBSD.org> |
Added filesystem clean bit support. This only affects fsck during a preen (-p), and in that case the filesystem is skipped if it is clean. A new flag "-f" for 'force' has been added which basically gives back the old behavior of checking all the filesystems all the time. This very closely models the behavior of SunOS and Ultrix.
|
#
8fae3551 |
|
26-May-1994 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
BSD 4.4 Lite sbin Sources Note: XNSrouted and routed NOT imported here, they shall be imported with usr.sbin.
|