FreeBSD: fix static module build broken in 7bb707ffa

param_set_arc_free_target(SYSCTL_HANDLER_ARGS) and
param_set_arc_no_grow_shift(SYSCTL_HANDLER_ARGS) defined in
sysctl_os.c must be made available to arc_os.c.

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Signed-off-by: Martin Matuska <mm@FreeBSD.org>
Closes #13915
This commit is contained in:
Martin Matuška 2022-09-20 02:21:45 +02:00 committed by GitHub
parent 9a671fe7ec
commit 042d43a1dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 38 additions and 4 deletions

View File

@ -0,0 +1,34 @@
/*
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* Copyright (c) 2022 Martin Matuska
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _SYS_ARC_OS_H
#define _SYS_ARC_OS_H
int param_set_arc_free_target(SYSCTL_HANDLER_ARGS);
int param_set_arc_no_grow_shift(SYSCTL_HANDLER_ARGS);
#endif

View File

@ -27,6 +27,7 @@
#include <sys/zio_checksum.h> #include <sys/zio_checksum.h>
#include <sys/zfs_context.h> #include <sys/zfs_context.h>
#include <sys/arc.h> #include <sys/arc.h>
#include <sys/arc_os.h>
#include <sys/zfs_refcount.h> #include <sys/zfs_refcount.h>
#include <sys/vdev.h> #include <sys/vdev.h>
#include <sys/vdev_trim.h> #include <sys/vdev_trim.h>
@ -72,11 +73,9 @@ SYSINIT(arc_free_target_init, SI_SUB_KTHREAD_PAGE, SI_ORDER_ANY,
* We don't have a tunable for arc_free_target due to the dependency on * We don't have a tunable for arc_free_target due to the dependency on
* pagedaemon initialisation. * pagedaemon initialisation.
*/ */
int param_set_arc_free_target(SYSCTL_HANDLER_ARGS);
ZFS_MODULE_PARAM_CALL(zfs_arc, zfs_arc_, free_target, ZFS_MODULE_PARAM_CALL(zfs_arc, zfs_arc_, free_target,
param_set_arc_free_target, 0, CTLFLAG_RW, param_set_arc_free_target, 0, CTLFLAG_RW,
"Desired number of free pages below which ARC triggers reclaim"); "Desired number of free pages below which ARC triggers reclaim");
int param_set_arc_no_grow_shift(SYSCTL_HANDLER_ARGS);
ZFS_MODULE_PARAM_CALL(zfs_arc, zfs_arc_, no_grow_shift, ZFS_MODULE_PARAM_CALL(zfs_arc, zfs_arc_, no_grow_shift,
param_set_arc_no_grow_shift, 0, ZMOD_RW, param_set_arc_no_grow_shift, 0, ZMOD_RW,
"log2(fraction of ARC which must be free to allow growing)"); "log2(fraction of ARC which must be free to allow growing)");

View File

@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$");
#include <sys/spa_impl.h> #include <sys/spa_impl.h>
#include <sys/vdev.h> #include <sys/vdev.h>
#include <sys/vdev_impl.h> #include <sys/vdev_impl.h>
#include <sys/arc_os.h>
#include <sys/dmu.h> #include <sys/dmu.h>
#include <sys/dsl_dir.h> #include <sys/dsl_dir.h>
#include <sys/dsl_dataset.h> #include <sys/dsl_dataset.h>
@ -228,7 +229,7 @@ SYSCTL_PROC(_vfs_zfs, OID_AUTO, arc_min,
extern uint_t zfs_arc_free_target; extern uint_t zfs_arc_free_target;
static int int
param_set_arc_free_target(SYSCTL_HANDLER_ARGS) param_set_arc_free_target(SYSCTL_HANDLER_ARGS)
{ {
uint_t val; uint_t val;
@ -261,7 +262,7 @@ SYSCTL_PROC(_vfs_zfs, OID_AUTO, arc_free_target,
" (LEGACY)"); " (LEGACY)");
/* END CSTYLED */ /* END CSTYLED */
static int int
param_set_arc_no_grow_shift(SYSCTL_HANDLER_ARGS) param_set_arc_no_grow_shift(SYSCTL_HANDLER_ARGS)
{ {
int err, val; int err, val;