git: d713bf79273a - main - vn_need_pageq_flush(): simplify
Konstantin Belousov
kib at FreeBSD.org
Sat May 22 09:31:39 UTC 2021
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=d713bf79273ad928f591dee2f8a553487e515e9b
commit d713bf79273ad928f591dee2f8a553487e515e9b
Author: Konstantin Belousov <kib at FreeBSD.org>
AuthorDate: 2021-05-21 07:34:27 +0000
Commit: Konstantin Belousov <kib at FreeBSD.org>
CommitDate: 2021-05-22 09:29:44 +0000
vn_need_pageq_flush(): simplify
There is no need to own vnode interlock, since v_object is type stable
and can only change to/from NULL, and no other checks in the function
access fields protected by the interlock. Remove the need variable, the
result of the test is directly usable as return value.
Tested by: mav, pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
---
sys/kern/vfs_subr.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 18c5b5b3b148..620d3e974397 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -5184,14 +5184,10 @@ int
vn_need_pageq_flush(struct vnode *vp)
{
struct vm_object *obj;
- int need;
- MPASS(mtx_owned(VI_MTX(vp)));
- need = 0;
- if ((obj = vp->v_object) != NULL && (vp->v_vflag & VV_NOSYNC) == 0 &&
- vm_object_mightbedirty(obj))
- need = 1;
- return (need);
+ obj = vp->v_object;
+ return (obj != NULL && (vp->v_vflag & VV_NOSYNC) == 0 &&
+ vm_object_mightbedirty(obj));
}
/*
More information about the dev-commits-src-main
mailing list