Tue Oct 7 12:58:10 2014 UTC ()
Do the previous correctly...


(he)
diff -r1.193 -r1.194 src/sys/fs/puffs/puffs_vnops.c

cvs diff -r1.193 -r1.194 src/sys/fs/puffs/puffs_vnops.c (expand / switch to unified diff)

--- src/sys/fs/puffs/puffs_vnops.c 2014/10/07 11:37:06 1.193
+++ src/sys/fs/puffs/puffs_vnops.c 2014/10/07 12:58:09 1.194
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: puffs_vnops.c,v 1.193 2014/10/07 11:37:06 he Exp $ */ 1/* $NetBSD: puffs_vnops.c,v 1.194 2014/10/07 12:58:09 he Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 2005, 2006, 2007 Antti Kantee. All Rights Reserved. 4 * Copyright (c) 2005, 2006, 2007 Antti Kantee. All Rights Reserved.
5 * 5 *
6 * Development of this software was supported by the 6 * Development of this software was supported by the
7 * Google Summer of Code program and the Ulla Tuominen Foundation. 7 * Google Summer of Code program and the Ulla Tuominen Foundation.
8 * The Google SoC project was mentored by Bill Studenmund. 8 * The Google SoC project was mentored by Bill Studenmund.
9 * 9 *
10 * Redistribution and use in source and binary forms, with or without 10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions 11 * modification, are permitted provided that the following conditions
12 * are met: 12 * are met:
13 * 1. Redistributions of source code must retain the above copyright 13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer. 14 * notice, this list of conditions and the following disclaimer.
@@ -20,27 +20,27 @@ @@ -20,27 +20,27 @@
20 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 22 * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 * SUCH DAMAGE. 29 * SUCH DAMAGE.
30 */ 30 */
31 31
32#include <sys/cdefs.h> 32#include <sys/cdefs.h>
33__KERNEL_RCSID(0, "$NetBSD: puffs_vnops.c,v 1.193 2014/10/07 11:37:06 he Exp $"); 33__KERNEL_RCSID(0, "$NetBSD: puffs_vnops.c,v 1.194 2014/10/07 12:58:09 he Exp $");
34 34
35#include <sys/param.h> 35#include <sys/param.h>
36#include <sys/buf.h> 36#include <sys/buf.h>
37#include <sys/lockf.h> 37#include <sys/lockf.h>
38#include <sys/malloc.h> 38#include <sys/malloc.h>
39#include <sys/mount.h> 39#include <sys/mount.h>
40#include <sys/namei.h> 40#include <sys/namei.h>
41#include <sys/vnode.h> 41#include <sys/vnode.h>
42#include <sys/proc.h> 42#include <sys/proc.h>
43#include <sys/kernel.h> /* For hz, hardclock_ticks */ 43#include <sys/kernel.h> /* For hz, hardclock_ticks */
44 44
45#include <uvm/uvm.h> 45#include <uvm/uvm.h>
46 46
@@ -1150,27 +1150,27 @@ zerofill_lastpage(struct vnode *vp, voff @@ -1150,27 +1150,27 @@ zerofill_lastpage(struct vnode *vp, voff
1150 1150
1151 iov.iov_base = zbuf; 1151 iov.iov_base = zbuf;
1152 iov.iov_len = len; 1152 iov.iov_len = len;
1153 UIO_SETUP_SYSSPACE(&uio); 1153 UIO_SETUP_SYSSPACE(&uio);
1154 uio.uio_iov = &iov; 1154 uio.uio_iov = &iov;
1155 uio.uio_iovcnt = 1; 1155 uio.uio_iovcnt = 1;
1156 uio.uio_offset = off; 1156 uio.uio_offset = off;
1157 uio.uio_resid = len; 1157 uio.uio_resid = len;
1158 uio.uio_rw = UIO_WRITE; 1158 uio.uio_rw = UIO_WRITE;
1159 1159
1160 error = ubc_uiomove(&vp->v_uobj, &uio, len, 1160 error = ubc_uiomove(&vp->v_uobj, &uio, len,
1161 UVM_ADV_SEQUENTIAL, UBC_WRITE|UBC_UNMAP_FLAG(vp)); 1161 UVM_ADV_SEQUENTIAL, UBC_WRITE|UBC_UNMAP_FLAG(vp));
1162 if (error) { 1162 if (error) {
1163 DPRINTF(("zero-fill 0x%lx@0x%" PRIxVSIZE  1163 DPRINTF(("zero-fill 0x%" PRIxVSIZE "@0x%" PRIx64
1164 " failed: error = %d\n", len, off, error)); 1164 " failed: error = %d\n", len, off, error));
1165 } 1165 }
1166 1166
1167 return; 1167 return;
1168} 1168}
1169 1169
1170static int 1170static int
1171dosetattr(struct vnode *vp, struct vattr *vap, kauth_cred_t cred, int flags) 1171dosetattr(struct vnode *vp, struct vattr *vap, kauth_cred_t cred, int flags)
1172{ 1172{
1173 PUFFS_MSG_VARS(vn, setattr); 1173 PUFFS_MSG_VARS(vn, setattr);
1174 struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount); 1174 struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
1175 struct puffs_node *pn = vp->v_data; 1175 struct puffs_node *pn = vp->v_data;
1176 vsize_t oldsize = vp->v_size; 1176 vsize_t oldsize = vp->v_size;