Deleted Added
full compact
nfs_clnode.c (243311) nfs_clnode.c (248084)
1/*-
2 * Copyright (c) 1989, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Rick Macklem at The University of Guelph.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 19 unchanged lines hidden (view full) ---

28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 * SUCH DAMAGE.
31 *
32 * from nfs_node.c 8.6 (Berkeley) 5/22/95
33 */
34
35#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 1989, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Rick Macklem at The University of Guelph.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 19 unchanged lines hidden (view full) ---

28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 * SUCH DAMAGE.
31 *
32 * from nfs_node.c 8.6 (Berkeley) 5/22/95
33 */
34
35#include <sys/cdefs.h>
36__FBSDID("$FreeBSD: head/sys/fs/nfsclient/nfs_clnode.c 243311 2012-11-19 22:43:45Z attilio $");
36__FBSDID("$FreeBSD: head/sys/fs/nfsclient/nfs_clnode.c 248084 2013-03-09 02:32:23Z attilio $");
37
38#include "opt_kdtrace.h"
39
40#include <sys/param.h>
41#include <sys/systm.h>
42#include <sys/fcntl.h>
43#include <sys/lock.h>
44#include <sys/malloc.h>

--- 166 unchanged lines hidden (view full) ---

211 if (NFS_ISV4(vp) && vp->v_type == VREG) {
212 /*
213 * Since mmap()'d files do I/O after VOP_CLOSE(), the NFSv4
214 * Close operations are delayed until now. Any dirty
215 * buffers/pages must be flushed before the close, so that the
216 * stateid is available for the writes.
217 */
218 if (vp->v_object != NULL) {
37
38#include "opt_kdtrace.h"
39
40#include <sys/param.h>
41#include <sys/systm.h>
42#include <sys/fcntl.h>
43#include <sys/lock.h>
44#include <sys/malloc.h>

--- 166 unchanged lines hidden (view full) ---

211 if (NFS_ISV4(vp) && vp->v_type == VREG) {
212 /*
213 * Since mmap()'d files do I/O after VOP_CLOSE(), the NFSv4
214 * Close operations are delayed until now. Any dirty
215 * buffers/pages must be flushed before the close, so that the
216 * stateid is available for the writes.
217 */
218 if (vp->v_object != NULL) {
219 VM_OBJECT_LOCK(vp->v_object);
219 VM_OBJECT_WLOCK(vp->v_object);
220 retv = vm_object_page_clean(vp->v_object, 0, 0,
221 OBJPC_SYNC);
220 retv = vm_object_page_clean(vp->v_object, 0, 0,
221 OBJPC_SYNC);
222 VM_OBJECT_UNLOCK(vp->v_object);
222 VM_OBJECT_WUNLOCK(vp->v_object);
223 } else
224 retv = TRUE;
225 if (retv == TRUE) {
226 (void)ncl_flush(vp, MNT_WAIT, NULL, ap->a_td, 1, 0);
227 (void)nfsrpc_close(vp, 1, ap->a_td);
228 }
229 }
230

--- 105 unchanged lines hidden ---
223 } else
224 retv = TRUE;
225 if (retv == TRUE) {
226 (void)ncl_flush(vp, MNT_WAIT, NULL, ap->a_td, 1, 0);
227 (void)nfsrpc_close(vp, 1, ap->a_td);
228 }
229 }
230

--- 105 unchanged lines hidden ---