Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Apr 2019 22:25:50 +0000 (UTC)
From:      Alan Somers <asomers@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r346607 - projects/fuse2/sys/fs/fuse
Message-ID:  <201904232225.x3NMPoTK066013@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: asomers
Date: Tue Apr 23 22:25:50 2019
New Revision: 346607
URL: https://svnweb.freebsd.org/changeset/base/346607

Log:
  fusefs: use vfs_bio_clrbuf in fuse_vnode_setsize
  
  Reuse fuse_vnode_setsize instead of reinventing the wheel.  This is what
  ext2_ind_truncate does.
  
  PR:		233783
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/fuse2/sys/fs/fuse/fuse_node.c

Modified: projects/fuse2/sys/fs/fuse/fuse_node.c
==============================================================================
--- projects/fuse2/sys/fs/fuse/fuse_node.c	Tue Apr 23 22:22:46 2019	(r346606)
+++ projects/fuse2/sys/fs/fuse/fuse_node.c	Tue Apr 23 22:25:50 2019	(r346607)
@@ -434,7 +434,6 @@ fuse_vnode_setsize(struct vnode *vp, struct ucred *cre
 
 	if (newsize < oldsize) {
 		daddr_t lbn;
-		size_t zsize;
 
 		err = vtruncbuf(vp, cred, newsize, fuse_iosize(vp));
 		if (err)
@@ -454,8 +453,8 @@ fuse_vnode_setsize(struct vnode *vp, struct ucred *cre
 		}
 		if (!(bp->b_flags & B_CACHE))
 			goto out;	/* Nothing to do */
-		zsize = (lbn + 1) * iosize - newsize;
-		bzero(bp->b_data + newsize - lbn * iosize, zsize);
+		MPASS(bp->b_flags & B_VMIO);
+		vfs_bio_clrbuf(bp);
 	}
 out:
 	if (bp)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201904232225.x3NMPoTK066013>