mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-22 11:17:19 +00:00
280e091a99
to resolve errors which can cause corruption on recovery with the old synchronous mechanism. - Append partial truncation freework structures to indirdeps while truncation is proceeding. These prevent new block pointers from becoming valid until truncation completes and serialize truncations. - On completion of a partial truncate journal work waits for zeroed pointers to hit indirects. - softdep_journal_freeblocks() handles last frag allocation and last block zeroing. - vtruncbuf/ffs_page_remove moved into softdep_*_freeblocks() so it is only implemented in one place. - Block allocation failure handling moved up one level so it does not proceed with buf locks held. This permits us to do more extensive reclaims when filesystem space is exhausted. - softdep_sync_metadata() is broken into two parts, the first executes once at the start of ffs_syncvnode() and flushes truncations and inode dependencies. The second is called on each locked buf. This eliminates excessive looping and rollbacks. - Improve the mechanism in process_worklist_item() that handles acquiring vnode locks for handle_workitem_remove() so that it works more generally and does not loop excessively over the same worklist items on each call. - Don't corrupt directories by zeroing the tail in fsck. This is only done for regular files. - Push a fsync complete record for files that need it so the checker knows a truncation in the journal is no longer valid. Discussed with: mckusick, kib (ffs_pages_remove and ffs_truncate parts) Tested by: pho |
||
---|---|---|
.. | ||
adjkerntz | ||
atacontrol | ||
atm | ||
badsect | ||
bsdlabel | ||
camcontrol | ||
ccdconfig | ||
clri | ||
comcontrol | ||
conscontrol | ||
ddb | ||
devd | ||
devfs | ||
dhclient | ||
dmesg | ||
dump | ||
dumpfs | ||
dumpon | ||
fdisk | ||
fdisk_pc98 | ||
ffsinfo | ||
fsck | ||
fsck_ffs | ||
fsck_msdosfs | ||
fsdb | ||
fsirand | ||
gbde | ||
geom | ||
ggate | ||
growfs | ||
gvinum | ||
hastctl | ||
hastd | ||
ifconfig | ||
init | ||
ipf | ||
ipfw | ||
iscontrol | ||
kldconfig | ||
kldload | ||
kldstat | ||
kldunload | ||
ldconfig | ||
mca | ||
md5 | ||
mdconfig | ||
mdmfs | ||
mknod | ||
mksnap_ffs | ||
mount | ||
mount_cd9660 | ||
mount_ext2fs | ||
mount_hpfs | ||
mount_msdosfs | ||
mount_nfs | ||
mount_ntfs | ||
mount_nullfs | ||
mount_reiserfs | ||
mount_std | ||
mount_udf | ||
mount_unionfs | ||
natd | ||
newfs | ||
newfs_msdos | ||
nfsiod | ||
nos-tun | ||
pfctl | ||
pflogd | ||
ping | ||
ping6 | ||
quotacheck | ||
rcorder | ||
reboot | ||
recoverdisk | ||
resolvconf | ||
restore | ||
route | ||
routed | ||
rtsol | ||
savecore | ||
sconfig | ||
setkey | ||
shutdown | ||
spppcontrol | ||
sunlabel | ||
swapon | ||
sysctl | ||
tunefs | ||
umount | ||
Makefile | ||
Makefile.amd64 | ||
Makefile.arm | ||
Makefile.i386 | ||
Makefile.ia64 | ||
Makefile.inc | ||
Makefile.mips | ||
Makefile.pc98 | ||
Makefile.sparc64 |