diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2023-02-11 18:05:14 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2023-02-19 05:16:25 +0000 |
commit | 03562adbefb80ba94bebe602fc051bbc4292cb37 (patch) | |
tree | 56ed140f070f81dfbf773c1aeaa5b61208b184c0 | |
parent | 64152225022bea784ca1948a67e7c040a8bb040a (diff) | |
download | src-03562adbefb80ba94bebe602fc051bbc4292cb37.tar.gz src-03562adbefb80ba94bebe602fc051bbc4292cb37.zip |
msdosfs deextend(): memoize DETOV(dep)
(cherry picked from commit 67dc1e7b0457ec014a1291c5874decdefe7bffdd)
-rw-r--r-- | sys/fs/msdosfs/msdosfs_denode.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/fs/msdosfs/msdosfs_denode.c b/sys/fs/msdosfs/msdosfs_denode.c index 8511d873ea50..003c710801ee 100644 --- a/sys/fs/msdosfs/msdosfs_denode.c +++ b/sys/fs/msdosfs/msdosfs_denode.c @@ -494,13 +494,14 @@ int deextend(struct denode *dep, u_long length, struct ucred *cred) { struct msdosfsmount *pmp = dep->de_pmp; + struct vnode *vp = DETOV(dep); u_long count; int error; /* * The root of a DOS filesystem cannot be extended. */ - if ((DETOV(dep)->v_vflag & VV_ROOT) && !FAT32(pmp)) + if ((vp->v_vflag & VV_ROOT) != 0 && !FAT32(pmp)) return (EINVAL); /* @@ -526,10 +527,10 @@ deextend(struct denode *dep, u_long length, struct ucred *cred) return (error); } } - vnode_pager_setsize(DETOV(dep), length); + vnode_pager_setsize(vp, length); dep->de_FileSize = length; dep->de_flag |= DE_UPDATE | DE_MODIFIED; - return (deupdat(dep, !DOINGASYNC(DETOV(dep)))); + return (deupdat(dep, !DOINGASYNC(vp))); } /* |