freebsd-dev/sbin/fsck_ffs
Kirk McKusick 345bfec109 Provide cache coherency between getnextinode() and ginode()
The fsck_ffs(8) utility has two subsystems for reading and writing
inodes. The getnextinode() interface is used in Pass 1 (and Pass
1b if needed) to sequentially walk through all the inodes in the
filesystem. The ginode() interface is used to read and write
individual inodes. Pass 1 uses a mix of both interfaces. This
change ensures that ginode() returns a pointer to the inode in the
cache maintained by getnextinode() when that interface holds the
requested inode so that all modifications to the inode are made in
a single place and are all written to the disk together.

Reported by:  Peter Holm
Tested by:    Peter Holm
Sponsored by: The FreeBSD Foundation
2022-08-23 23:48:40 -07:00
..
dir.c Eliminate an unnecessary rerun request in fsck_ffs. 2021-09-22 16:20:19 -07:00
ea.c [skip ci] correct a few SPDX license tags 2021-07-07 13:52:20 -06:00
fsck_ffs.8 Correct the location of the first backup superblock in fsck_ffs.8. 2019-08-07 16:56:00 +00:00
fsck.h Move the ability to search for alternate UFS superblocks from fsck_ffs(8) 2022-08-13 12:43:40 -07:00
fsutil.c Update standard superblock when successful using an alternate superblock. 2022-08-23 23:29:17 -07:00
gjournal.c Rewrite the disk I/O management system in fsck_ffs(8). Other than 2021-01-07 15:03:15 -08:00
globs.c Move the ability to search for alternate UFS superblocks from fsck_ffs(8) 2022-08-13 12:43:40 -07:00
inode.c Provide cache coherency between getnextinode() and ginode() 2022-08-23 23:48:40 -07:00
main.c Move the ability to search for alternate UFS superblocks from fsck_ffs(8) 2022-08-13 12:43:40 -07:00
Makefile sbin: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:33:01 +00:00
Makefile.depend DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
pass1.c Ensure that files with no allocated blocks are trimmed to zero length. 2021-05-11 14:52:26 -07:00
pass1b.c Fix fsck_ffs Pass 1b error exit "bad inode number 256 to nextinode". 2021-05-19 14:39:24 -07:00
pass2.c Improve handling of missing '.' and '..' in UFS directories. 2022-08-17 14:19:59 -07:00
pass3.c Rewrite the disk I/O management system in fsck_ffs(8). Other than 2021-01-07 15:03:15 -08:00
pass4.c Rewrite the disk I/O management system in fsck_ffs(8). Other than 2021-01-07 15:03:15 -08:00
pass5.c Use proper type (ino_t) for inode numbers to avoid improper sign extention 2020-10-25 21:04:07 +00:00
setup.c When reading backup UFS superblocks, report reason if they cannot be used. 2022-08-17 13:54:07 -07:00
suj.c Remove #define _KERNEL hacks from libprocstat 2021-02-21 11:38:21 +02:00
utilities.c Remove unused includes. 2019-12-22 05:44:29 +00:00