| @@ -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 | |
1170 | static int | | 1170 | static int |
1171 | dosetattr(struct vnode *vp, struct vattr *vap, kauth_cred_t cred, int flags) | | 1171 | dosetattr(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; |