freebsd-dev/sys
Andriy Gapon 8a3883cfb7 zfs vn_has_cached_data: take into account v_object->cache != NULL
This mirrors code in tmpfs.
This changge shouldn't affect much read path, it may cause unnecessary
vm_page_lookup calls in the case where v_object has no active or inactive
pages but has some cache pages.  I believe this situation to be non-essential.

In write path this change should allow us to properly detect the above
case and free a cache page when we write to a range that corresponds to it.
If this situation is undetected then we could have a discrepancy between
data in page cache and in ARC or on disk.

This change allows us to re-enable vn_has_cached_data() check in zfs_write.

NOTE: strictly speaking resident_page_count and cache fields of v_object
should be exmined under VM_OBJECT_LOCK, but for this particular usage
we may get away with it.

Discussed with:	alc, kib
Approved by:	pjd
Tested with:	tools/regression/fsx
MFC after:	3 weeks
2010-09-15 11:05:41 +00:00
..
amd64 Refactor timer management code with priority to one-shot operation mode. 2010-09-13 07:25:35 +00:00
arm In pmap_remove_all(), do not decrease pm_stats.wired_count if the mapping was 2010-09-12 20:46:32 +00:00
boot Remove empty lines committed by accident. 2010-09-09 21:32:09 +00:00
bsm
cam Correct bioq_disksort so that bioq_insert_tail() offers barrier semantic. 2010-09-02 19:40:28 +00:00
cddl zfs vn_has_cached_data: take into account v_object->cache != NULL 2010-09-15 11:05:41 +00:00
compat Replace sbuf_overflowed() with sbuf_error(), which returns any error 2010-09-10 16:42:16 +00:00
conf Add 64-bit SWARM board kernel configs. 2010-09-15 05:32:10 +00:00
contrib When using pf routing options, properly handle IP fragmentation 2010-09-10 00:00:06 +00:00
crypto Crypto(4) driver for AESNI. 2010-07-23 11:00:46 +00:00
ddb
dev Add some enums and constants from Adaptec's latest driver 2010-09-15 01:19:11 +00:00
fs tmpfs, zfs + sendfile: mark page bits as valid after populating it with data 2010-09-15 10:31:27 +00:00
gdb
geom - Change all places where G_TYPE_ASCNUM is used to G_TYPE_NUMBER. 2010-09-14 16:21:13 +00:00
gnu Add dedicated routines to toggle lockmgr flags such as LK_NOSHARE and 2010-08-20 19:46:50 +00:00
i386 Refactor timer management code with priority to one-shot operation mode. 2010-09-13 07:25:35 +00:00
ia64 bus_add_child: change type of order parameter to u_int 2010-09-10 11:19:03 +00:00
isa bus_add_child: change type of order parameter to u_int 2010-09-10 11:19:03 +00:00
kern Fix panic on NULL dereference possible after r212541. 2010-09-14 10:26:49 +00:00
kgssapi
libkern
mips Add 64-bit SWARM board kernel configs. 2010-09-15 05:32:10 +00:00
modules Simplify atomic selection 2010-09-13 07:29:02 +00:00
net Replace sbuf_overflowed() with sbuf_error(), which returns any error 2010-09-10 16:42:16 +00:00
net80211 Wrap remaining ieee80211_ratectl_node_init() calls missed in r211314. 2010-08-21 11:06:21 +00:00
netatalk
netgraph Fix typo 2010-08-02 22:26:08 +00:00
netinet Change the default MSS for IPv4 and IPv6 TCP connections from an 2010-09-15 10:39:30 +00:00
netinet6 MFp4 CH=183052 183053 183258: 2010-09-02 17:43:44 +00:00
netipsec
netipx
netnatm
netncp
netsmb
nfs Move sys/nfsclient/nfs_lock.c into sys/nfs and build it as a separate 2010-07-24 22:11:11 +00:00
nfsclient Do not fork nfsiod directly from the vop methods. This causes LORs between 2010-09-12 19:06:08 +00:00
nfsserver - When VFS_VGET() is not supported, switch to VOP_LOOKUP(). 2010-08-26 23:41:40 +00:00
nlm
opencrypto Add an extra comment to the SDT probes definition. This allows us to get 2010-08-22 11:18:57 +00:00
pc98 Refactor timer management code with priority to one-shot operation mode. 2010-09-13 07:25:35 +00:00
pci Remove unnecessary controller reinitialization. 2010-08-24 18:52:24 +00:00
powerpc Introduce inheritance into the PowerPC MMU kobj interface. 2010-09-15 00:17:52 +00:00
rpc - Check the result of malloc(M_NOWAIT) in replay_alloc(). The caller 2010-08-26 23:33:04 +00:00
security Replace sbuf_overflowed() with sbuf_error(), which returns any error 2010-09-10 16:42:16 +00:00
sparc64 Remove a KASSERT which will also trigger for perfectly valid combinations 2010-09-14 20:31:09 +00:00
sun4v Remove a KASSERT which will also trigger for perfectly valid combinations 2010-09-14 20:31:09 +00:00
sys sys/pcpu.h: remove a workaround for a fixed ld bug 2010-09-15 10:02:46 +00:00
teken Make ^L with cons25 and origin mode bit more sane. 2010-08-09 18:07:15 +00:00
tools Add an extra comment to the SDT probes definition. This allows us to get 2010-08-22 11:18:57 +00:00
ufs Update comments in soft updates code to more fully describe 2010-09-14 18:04:05 +00:00
vm Revert r212370, as it causes a LOR on powerpc. powerpc does a few 2010-09-13 18:48:23 +00:00
x86 Refactor timer management code with priority to one-shot operation mode. 2010-09-13 07:25:35 +00:00
xdr
xen
Makefile