diff options
| author | Mateusz Guzik <mjg@FreeBSD.org> | 2025-09-24 08:52:28 +0000 |
|---|---|---|
| committer | Mateusz Guzik <mjg@FreeBSD.org> | 2025-09-24 08:52:28 +0000 |
| commit | 21d42c8d902235b90b59d1aea6203b12e40c6c1b (patch) | |
| tree | e2dd064be2d9ac298147c10dcbf69d941a1912a3 | |
| parent | 185c2c3dab3627bac929143795cec2d78d0aceab (diff) | |
vfs: let the compiler catch unhandled vgetstate values in vget_abort
| -rw-r--r-- | sys/kern/vfs_subr.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 9818c60ca387..73e110c05bc1 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -3352,13 +3352,22 @@ vget_abort(struct vnode *vp, enum vgetstate vs) switch (vs) { case VGET_USECOUNT: vrele(vp); - break; + goto out_ok; case VGET_HOLDCNT: vdrop(vp); + goto out_ok; + case VGET_NONE: break; - default: - __assert_unreachable(); } + + __assert_unreachable(); + + /* + * This is a goto label should the cases above have more in common than + * just the 'return' statement. + */ +out_ok: + return; } int |
