From 0c47f2a2ffa91634f208d08b3e9a9a93d53d29cc Mon Sep 17 00:00:00 2001 From: tol Date: Sun, 2 Dec 2007 23:27:29 +0000 Subject: [PATCH] (nnpfs_netbsd_write): no reason to zero out more than offset's block, nnpfs_data_valid() handles the rest Update (C) --- nnpfs/bsd/nnpfs_vnodeops-netbsd.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/nnpfs/bsd/nnpfs_vnodeops-netbsd.c b/nnpfs/bsd/nnpfs_vnodeops-netbsd.c index 3b79923b9..050b36f71 100644 --- a/nnpfs/bsd/nnpfs_vnodeops-netbsd.c +++ b/nnpfs/bsd/nnpfs_vnodeops-netbsd.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2006 Kungliga Tekniska Högskolan + * Copyright (c) 2002-2007 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). * All rights reserved. * @@ -282,8 +282,11 @@ nnpfs_netbsd_write(struct vop_write_args *ap) error = 0; if (origoff > osize) { - uvm_vnp_zerorange(vp, osize, origoff - osize); - uvm_vnp_setsize(vp, nnpfs_uio_offset(uio)); + /* zero out beginning of offset's block */ + off_t zero_start = nnpfs_offset(origoff); + if (osize >= zero_start) + zero_start = osize; + uvm_vnp_zerorange(vp, zero_start, origoff - zero_start); } while (uio->uio_resid > 0) { -- 2.11.4.GIT