aboutsummaryrefslogtreecommitdiffstats
path: root/module
diff options
context:
space:
mode:
authorMark Johnston <[email protected]>2023-12-29 12:56:35 -0500
committerBrian Behlendorf <[email protected]>2024-01-16 11:32:19 -0800
commita00231a3fc9909aa5ccf91af9c3a473665e9dea4 (patch)
treed076bea5646dbc3cadb43dd316080ea7d5cfa3ad /module
parent9181e94f0b24e3459e1e9b6b2b096ff40b9461eb (diff)
spa: Let spa_taskq_param_get()'s addition of a newline be optional
For FreeBSD sysctls, we don't want the extra newline, since the sysctl(8) utility will format strings appropriately. Reviewed-by: Rob Norris <[email protected]> Reviewed-by: Alexander Motin <[email protected]> Reported-by: Peter Holm <[email protected]> Signed-off-by: Mark Johnston <[email protected]> Closes #15719
Diffstat (limited to 'module')
-rw-r--r--module/zfs/spa.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/module/zfs/spa.c b/module/zfs/spa.c
index 739e2cb7c..d7fe96cde 100644
--- a/module/zfs/spa.c
+++ b/module/zfs/spa.c
@@ -1345,7 +1345,7 @@ spa_taskq_param_set(zio_type_t t, char *cfg)
}
static int
-spa_taskq_param_get(zio_type_t t, char *buf)
+spa_taskq_param_get(zio_type_t t, char *buf, boolean_t add_newline)
{
int pos = 0;
@@ -1363,7 +1363,8 @@ spa_taskq_param_get(zio_type_t t, char *buf)
sep = " ";
}
- buf[pos++] = '\n';
+ if (add_newline)
+ buf[pos++] = '\n';
buf[pos] = '\0';
return (pos);
@@ -1381,7 +1382,7 @@ spa_taskq_read_param_set(const char *val, zfs_kernel_param_t *kp)
static int
spa_taskq_read_param_get(char *buf, zfs_kernel_param_t *kp)
{
- return (spa_taskq_param_get(ZIO_TYPE_READ, buf));
+ return (spa_taskq_param_get(ZIO_TYPE_READ, buf, TRUE));
}
static int
@@ -1395,7 +1396,7 @@ spa_taskq_write_param_set(const char *val, zfs_kernel_param_t *kp)
static int
spa_taskq_write_param_get(char *buf, zfs_kernel_param_t *kp)
{
- return (spa_taskq_param_get(ZIO_TYPE_WRITE, buf));
+ return (spa_taskq_param_get(ZIO_TYPE_WRITE, buf, TRUE));
}
#else
/*
@@ -1410,7 +1411,7 @@ spa_taskq_read_param(ZFS_MODULE_PARAM_ARGS)
char buf[SPA_TASKQ_PARAM_MAX];
int err;
- (void) spa_taskq_param_get(ZIO_TYPE_READ, buf);
+ (void) spa_taskq_param_get(ZIO_TYPE_READ, buf, FALSE);
err = sysctl_handle_string(oidp, buf, sizeof (buf), req);
if (err || req->newptr == NULL)
return (err);
@@ -1423,7 +1424,7 @@ spa_taskq_write_param(ZFS_MODULE_PARAM_ARGS)
char buf[SPA_TASKQ_PARAM_MAX];
int err;
- (void) spa_taskq_param_get(ZIO_TYPE_WRITE, buf);
+ (void) spa_taskq_param_get(ZIO_TYPE_WRITE, buf, FALSE);
err = sysctl_handle_string(oidp, buf, sizeof (buf), req);
if (err || req->newptr == NULL)
return (err);