Konstantin Belousov 9316467d05 FFS puts the extended attributes blocks at the negative blocks for the
vnode, from -1 down. When vinvalbuf(vp, V_ALT) is done for the vnode, it
incorrectly does vm_object_page_remove(0, 0), removing all pages from
the underlying vm object, not only the pages that back the extended
attributes data.

Change vinvalbuf() to not remove any pages from the object when
V_NORMAL or V_ALT are specified. Instead, the only in-tree caller
in ffs_inode.c:ffs_truncate() that specifies V_ALT explicitely
removes the corresponding page range. The V_NORMAL caller
does vnode_pager_setsize(vp, 0) immediately after the call to
vinvalbuf(V_NORMAL) already.

Reported by:	csjp
Reviewed by:	ups
MFC after:	3 weeks
2009-01-20 11:27:45 +00:00
..
2008-11-29 14:32:14 +00:00
2008-09-23 14:25:56 +00:00
2008-08-03 21:07:19 +00:00
2008-11-27 04:40:37 +00:00
2008-09-22 10:37:02 +00:00
2008-05-12 06:42:06 +00:00
2008-05-23 04:06:49 +00:00
2007-12-14 21:30:51 +00:00
2008-07-27 21:45:20 +00:00
2008-12-21 21:54:01 +00:00
2008-07-18 07:10:33 +00:00
2009-01-02 23:39:29 +00:00
2009-01-01 20:03:22 +00:00
2009-01-20 04:21:21 +00:00
2008-12-16 23:16:10 +00:00
2008-12-27 10:13:43 +00:00
2008-11-29 12:40:14 +00:00