Date: Mon, 11 Sep 2023 21:51:59 +0300 From: Dmitry Chagin <dchagin@freebsd.org> To: Mateusz Guzik <mjg@freebsd.org> Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: a87c6962affc - main - ufs: restore name cache fast path lookup Message-ID: <ZP9hz5IF3R1KMYBQ@heemeyer.club> In-Reply-To: <202309092150.389LovR0091943@gitrepo.freebsd.org> References: <202309092150.389LovR0091943@gitrepo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Sep 09, 2023 at 09:50:57PM +0000, Mateusz Guzik wrote: > The branch main has been updated by mjg: > > URL: https://cgit.FreeBSD.org/src/commit/?id=a87c6962affc2d1994d8f30806c934eb4cb7af22 > > commit a87c6962affc2d1994d8f30806c934eb4cb7af22 > Author: Mateusz Guzik <mjg@FreeBSD.org> > AuthorDate: 2023-09-09 21:48:57 +0000 > Commit: Mateusz Guzik <mjg@FreeBSD.org> > CommitDate: 2023-09-09 21:48:57 +0000 > > ufs: restore name cache fast path lookup > 10x, do you plan to merge this to the stable/14 releng/14.0? I just cherry-picked this to my stable/14 prod, so compile and runtime tested > Found by: dchagin > Fixes: f3c81b973897 ("ufs: add missing vop_fplookup ops") > --- > sys/ufs/ffs/ffs_vnops.c | 6 ++++-- > sys/ufs/ufs/ufs_vnops.c | 4 ++-- > 2 files changed, 6 insertions(+), 4 deletions(-) > > diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c > index 0dd64f696e0c..2b11a15c46c9 100644 > --- a/sys/ufs/ffs/ffs_vnops.c > +++ b/sys/ufs/ffs/ffs_vnops.c > @@ -135,6 +135,8 @@ static vop_setextattr_t ffs_setextattr; > static vop_vptofh_t ffs_vptofh; > static vop_vput_pair_t ffs_vput_pair; > > +vop_fplookup_vexec_t ufs_fplookup_vexec; > + > /* Global vfs data structures for ufs. */ > struct vop_vector ffs_vnodeops1 = { > .vop_default = &ufs_vnodeops, > @@ -151,7 +153,7 @@ struct vop_vector ffs_vnodeops1 = { > .vop_write = ffs_write, > .vop_vptofh = ffs_vptofh, > .vop_vput_pair = ffs_vput_pair, > - .vop_fplookup_vexec = VOP_EAGAIN, > + .vop_fplookup_vexec = ufs_fplookup_vexec, > .vop_fplookup_symlink = VOP_EAGAIN, > }; > VFS_VOP_VECTOR_REGISTER(ffs_vnodeops1); > @@ -192,7 +194,7 @@ struct vop_vector ffs_vnodeops2 = { > .vop_setextattr = ffs_setextattr, > .vop_vptofh = ffs_vptofh, > .vop_vput_pair = ffs_vput_pair, > - .vop_fplookup_vexec = VOP_EAGAIN, > + .vop_fplookup_vexec = ufs_fplookup_vexec, > .vop_fplookup_symlink = VOP_EAGAIN, > }; > VFS_VOP_VECTOR_REGISTER(ffs_vnodeops2); > diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c > index a7d5e8ba96fc..79cca75fc563 100644 > --- a/sys/ufs/ufs/ufs_vnops.c > +++ b/sys/ufs/ufs/ufs_vnops.c > @@ -101,7 +101,7 @@ VFS_SMR_DECLARE; > #include <ufs/ffs/ffs_extern.h> > > static vop_accessx_t ufs_accessx; > -static vop_fplookup_vexec_t ufs_fplookup_vexec; > +vop_fplookup_vexec_t ufs_fplookup_vexec; > static int ufs_chmod(struct vnode *, int, struct ucred *, struct thread *); > static int ufs_chown(struct vnode *, uid_t, gid_t, struct ucred *, > struct thread *); > @@ -475,7 +475,7 @@ ufs_accessx( > * VOP_FPLOOKUP_VEXEC routines are subject to special circumstances, see > * the comment above cache_fplookup for details. > */ > -static int > +int > ufs_fplookup_vexec( > struct vop_fplookup_vexec_args /* { > struct vnode *a_vp;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ZP9hz5IF3R1KMYBQ>