mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 18:40:43 +03:00
Introduce zpool_get_prop_literal interface
This change introduces zpool_get_prop_literal. It's an expanded version of zpool_get_prop taking one additional boolean parameter. With this parameter set to B_FALSE it will behave identically to zpool_get_prop. Setting it to B_TRUE will return full precision numbers for the following properties: ZPOOL_PROP_SIZE ZPOOL_PROP_ALLOCATED ZPOOL_PROP_FREE ZPOOL_PROP_FREEING ZPOOL_PROP_EXPANDSZ ZPOOL_PROP_ASHIFT Also introduced is a wrapper function for zpool_get_prop making it use zpool_get_prop_literal in the background. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Issue #1813
This commit is contained in:
committed by
Brian Behlendorf
parent
157c9b6981
commit
8b921f667a
@@ -236,12 +236,22 @@ zpool_pool_state_to_name(pool_state_t state)
|
||||
}
|
||||
|
||||
/*
|
||||
* Get a zpool property value for 'prop' and return the value in
|
||||
* a pre-allocated buffer.
|
||||
* API compatibility wrapper around zpool_get_prop_literal
|
||||
*/
|
||||
int
|
||||
zpool_get_prop(zpool_handle_t *zhp, zpool_prop_t prop, char *buf, size_t len,
|
||||
zprop_source_t *srctype)
|
||||
{
|
||||
return zpool_get_prop_literal(zhp, prop, buf, len, srctype, B_FALSE);
|
||||
}
|
||||
|
||||
/*
|
||||
* Get a zpool property value for 'prop' and return the value in
|
||||
* a pre-allocated buffer.
|
||||
*/
|
||||
int
|
||||
zpool_get_prop_literal(zpool_handle_t *zhp, zpool_prop_t prop, char *buf, size_t len,
|
||||
zprop_source_t *srctype, boolean_t literal)
|
||||
{
|
||||
uint64_t intval;
|
||||
const char *strval;
|
||||
@@ -308,7 +318,11 @@ zpool_get_prop(zpool_handle_t *zhp, zpool_prop_t prop, char *buf, size_t len,
|
||||
case ZPOOL_PROP_FREEING:
|
||||
case ZPOOL_PROP_EXPANDSZ:
|
||||
case ZPOOL_PROP_ASHIFT:
|
||||
(void) zfs_nicenum(intval, buf, len);
|
||||
if (literal)
|
||||
(void) snprintf(buf, len, "%llu",
|
||||
(u_longlong_t)intval);
|
||||
else
|
||||
(void) zfs_nicenum(intval, buf, len);
|
||||
break;
|
||||
|
||||
case ZPOOL_PROP_CAPACITY:
|
||||
|
||||
Reference in New Issue
Block a user