1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-25 16:13:17 +00:00
freebsd/sys
Konstantin Belousov 63876b3ba2 On rename, do not perform truncation of dirhash if the vnode
truncation failed.

Doing so resulted in inconsistent state of the ufs dirhash with regard
to the actual directory inode state, and could lead to spurious ENOENT
errors for lookups of existing files in production kernels, or
assertion failures in the debugging kernels.

Change the logic of calling ufsdirhash_dirtrunc() to be same as in
ufs_direnter().  Execute UFS_TRUNCATE() first, log error, and only do
dirtrunc() if UFS_TRUNCATE() succeeded.

Note that the problem was exacerbated by the bug in the
flush_newblk_dep() function (see r305599), which caused in the spurios
errors from ffs_sync() and then ffs_truncate().

In collaboration with:	pho
Reviewed by:	mckusick
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2016-09-08 12:09:34 +00:00
..
amd64 work around AMD erratum 793 for family 16h, models 00h-0Fh 2016-09-07 14:24:29 +00:00
arm Chelsio T4/T5 VF driver. 2016-09-07 18:13:57 +00:00
arm64 When synchronising the instruction and data caches we only need to clean 2016-09-07 16:46:54 +00:00
boot pxeboot: Add nfs.read_size tunable. 2016-09-08 09:11:13 +00:00
bsm
cam Decode ATA Status Return descriptor. 2016-09-08 12:00:02 +00:00
cddl MFV r305562: 7259 DS_FIELD_LARGE_BLOCKS is unused 2016-09-07 20:09:24 +00:00
compat Remove a pointless translation of struct ioc_toc_header. 2016-09-08 00:38:50 +00:00
conf Chelsio T4/T5 VF driver. 2016-09-07 18:13:57 +00:00
contrib Update Annapurna Alpine HAL to a newer version. 2016-09-06 14:59:13 +00:00
crypto Fix typo in skein amd64 assembly 2016-09-08 02:38:55 +00:00
ddb Expand error messages: print symbol names, parentheses and shift tokens, 2016-08-28 19:33:09 +00:00
dev Correctly map the USB mouse tilt delta values into buttons 5 and 6 2016-09-08 10:10:05 +00:00
fs nullfs: stop special-casing directories in null_vptocnp 2016-09-06 21:22:03 +00:00
gdb
geom Don't treat an error from g_mirror_clear_metadata() as fatal. 2016-09-06 23:42:59 +00:00
gnu
i386 Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
isa
kern In m_devget(), if the data fits in a packet header mbuf, check the amount 2016-09-08 01:02:53 +00:00
kgssapi
libkern
mips Fix MIPS INTRNG (both FDT and non-FDT) behaviour broken by r304459 2016-09-07 09:31:10 +00:00
modules Chelsio T4/T5 VF driver. 2016-09-07 18:13:57 +00:00
net hyperv/hn: Stringent RNDIS packet message length/offset check. 2016-09-06 03:20:06 +00:00
net80211 [net80211] correctly lock the ifp before accessing the lladdr. 2016-08-18 01:25:12 +00:00
netgraph
netinet With clang 3.9.0, compiling sys/netinet/igmp.c results in the following 2016-09-04 17:23:10 +00:00
netinet6 Fix L2 caching for UDP over IPv6 2016-08-24 00:52:30 +00:00
netipsec Remove redundant sanity checks from ipsec[46]_common_input_cb(). 2016-08-31 11:51:52 +00:00
netnatm
netpfil Try to fix gcc compilation errors (which are right). 2016-08-18 10:26:15 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Do not free an uninitialized pointer on soaccept failure in the iWARP 2016-08-26 08:25:28 +00:00
opencrypto
pc98 Remove the ie(4) driver for Intel 82586 ISA Ethernet adapters. 2016-08-20 00:49:29 +00:00
powerpc Chelsio T4/T5 VF driver. 2016-09-07 18:13:57 +00:00
riscv Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
rpc
security Audit the accepted (or rejected) username argument to setlogin(2). 2016-08-20 20:28:08 +00:00
sparc64 Disable vt(4) by default on sparc64 as creator_vt(4) and vt_ofwfb(4) 2016-09-06 22:18:08 +00:00
sys Resolve deadlock between device_detach() and usbd_do_request_flags() 2016-09-05 15:35:58 +00:00
teken
tests
tools
ufs On rename, do not perform truncation of dirhash if the vnode 2016-09-08 12:09:34 +00:00
vm Respect the caller's hints when performing swap readahead. 2016-09-04 00:25:49 +00:00
x86 Remove remnants of PERFMON and I586_PMC_GUPROF from amd64. 2016-09-06 19:25:32 +00:00
xdr
xen
Makefile