mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-23 02:44:41 +03:00
JSON output support for zpool list
This commit adds support for zpool list command to output the list of ZFS pools in JSON format using '-j' option.. Information about available pools is collected in nvlist which is later printed to stdout in JSON format. Existing options for zfs list command work with '-j' flag. man page for zpool list is updated accordingly. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Ameer Hamza <ahamza@ixsystems.com> Signed-off-by: Umer Saleem <usaleem@ixsystems.com> Closes #16217
This commit is contained in:
committed by
Brian Behlendorf
parent
eb2b824bde
commit
4e6b3f7e1d
@@ -37,5 +37,7 @@
|
||||
|
||||
/* Print a timestamp in either Unix or standard format. */
|
||||
void print_timestamp(uint_t);
|
||||
/* Return timestamp in either Unix or standard format in provided buffer */
|
||||
void get_timestamp(uint_t, char *, int);
|
||||
|
||||
#endif /* _STATCOMMON_H */
|
||||
|
||||
@@ -62,3 +62,25 @@ print_timestamp(uint_t timestamp_fmt)
|
||||
(void) printf("%s\n", dstr);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Return timestamp as decimal reprentation (in string) of time_t
|
||||
* value (-T u was specified) or in date(1) format (-T d was specified).
|
||||
*/
|
||||
void
|
||||
get_timestamp(uint_t timestamp_fmt, char *buf, int len)
|
||||
{
|
||||
time_t t = time(NULL);
|
||||
static const char *fmt = NULL;
|
||||
|
||||
/* We only need to retrieve this once per invocation */
|
||||
if (fmt == NULL)
|
||||
fmt = nl_langinfo(_DATE_FMT);
|
||||
|
||||
if (timestamp_fmt == UDATE) {
|
||||
(void) snprintf(buf, len, "%lld", (longlong_t)t);
|
||||
} else if (timestamp_fmt == DDATE) {
|
||||
struct tm tm;
|
||||
strftime(buf, len, fmt, localtime_r(&t, &tm));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user