svn commit: r346607 - projects/fuse2/sys/fs/fuse
Alan Somers
asomers at FreeBSD.org
Tue Sep 3 14:07:28 UTC 2019
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)
More information about the svn-src-projects
mailing list