Index: sys/fs/fuse/fuse_internal.c =================================================================== --- sys/fs/fuse/fuse_internal.c +++ sys/fs/fuse/fuse_internal.c @@ -169,14 +169,12 @@ int err = 0; uint32_t mask = F_OK; int dataflags; - int vtype; struct mount *mp; struct fuse_dispatcher fdi; struct fuse_access_in *fai; struct fuse_data *data; mp = vnode_mount(vp); - vtype = vnode_vtype(vp); data = fuse_get_mpdata(mp); dataflags = data->dataflags; @@ -1169,18 +1167,14 @@ struct mount *mp; pid_t pid = td->td_proc->p_pid; struct fuse_data *data; - int dataflags; int err = 0; enum vtype vtyp; - int sizechanged = -1; - uint64_t newsize = 0; ASSERT_VOP_ELOCKED(vp, __func__); mp = vnode_mount(vp); fvdat = VTOFUD(vp); data = fuse_get_mpdata(mp); - dataflags = data->dataflags; fdisp_init(&fdi, sizeof(*fsai)); fdisp_make_vp(&fdi, FUSE_SETATTR, vp, td, cred); @@ -1204,8 +1198,6 @@ /*Truncate to a new value. */ fsai->size = vap->va_size; - sizechanged = 1; - newsize = vap->va_size; fsai->valid |= FATTR_SIZE; fuse_filehandle_getrw(vp, FWRITE, &fufh, cred, pid); Index: sys/fs/fuse/fuse_io.c =================================================================== --- sys/fs/fuse/fuse_io.c +++ sys/fs/fuse/fuse_io.c @@ -467,7 +467,6 @@ off_t filesize; int bcount; int n, on, seqcount, err = 0; - bool last_page; const int biosize = fuse_iosize(vp); @@ -518,11 +517,6 @@ extending = true; bcount = on + n; } - if (howmany(((off_t)lbn * biosize + on + n - 1), PAGE_SIZE) >= - howmany(filesize, PAGE_SIZE)) - last_page = true; - else - last_page = false; if (direct_append) { /* * Take care to preserve the buffer's B_CACHE state so Index: sys/fs/fuse/fuse_node.c =================================================================== --- sys/fs/fuse/fuse_node.c +++ sys/fs/fuse/fuse_node.c @@ -452,7 +452,7 @@ left_lbn = oldsize / iosize; end_lbn = howmany(newsize, iosize); - v_inval_buf_range(vp, 0, end_lbn, iosize); + v_inval_buf_range(vp, 0 /* XXXMJ left_lbn? */, end_lbn, iosize); } out: if (bp) Index: sys/fs/fuse/fuse_vnops.c =================================================================== --- sys/fs/fuse/fuse_vnops.c +++ sys/fs/fuse/fuse_vnops.c @@ -1391,7 +1391,6 @@ bool did_lookup = false; struct fuse_entry_out *feo = NULL; enum vtype vtyp; /* vnode type of target */ - off_t filesize; /* filesize of target */ uint64_t nid; @@ -1424,12 +1423,10 @@ return ENOENT; /* .. is obviously a directory */ vtyp = VDIR; - filesize = 0; } else if (cnp->cn_namelen == 1 && *(cnp->cn_nameptr) == '.') { nid = VTOI(dvp); /* . is obviously a directory */ vtyp = VDIR; - filesize = 0; } else { struct timespec timeout; int ncpticks; /* here to accomodate for API contract */ @@ -1503,7 +1500,6 @@ } } vtyp = IFTOVT(feo->attr.mode); - filesize = feo->attr.size; } if (lookup_err && (!fdi.answ_stat || lookup_err != ENOENT)) { fdisp_destroy(&fdi); @@ -1688,7 +1684,6 @@ struct thread *td = ap->a_td; struct ucred *cred = ap->a_cred; pid_t pid = td->td_proc->p_pid; - struct fuse_vnode_data *fvdat; if (fuse_isdeadfs(vp)) return ENXIO; @@ -1697,8 +1692,6 @@ if ((a_mode & (FREAD | FWRITE | FEXEC)) == 0) return EINVAL; - fvdat = VTOFUD(vp); - if (fuse_filehandle_validrw(vp, a_mode, cred, pid)) { fuse_vnode_open(vp, 0, td); return 0;