Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Sep 2020 07:37:45 +0000 (UTC)
From:      Robert Wing <rew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r365448 - stable/12/sbin/bectl
Message-ID:  <202009080737.0887bjE8074806@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rew
Date: Tue Sep  8 07:37:45 2020
New Revision: 365448
URL: https://svnweb.freebsd.org/changeset/base/365448

Log:
  MFC r364369:
  
  bectl(8): Fix output of 'bectl list' for the 'Mountpoint' column.
  
  PR: 241064

Modified:
  stable/12/sbin/bectl/bectl_list.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sbin/bectl/bectl_list.c
==============================================================================
--- stable/12/sbin/bectl/bectl_list.c	Tue Sep  8 06:19:23 2020	(r365447)
+++ stable/12/sbin/bectl/bectl_list.c	Tue Sep  8 07:37:45 2020	(r365448)
@@ -292,19 +292,23 @@ print_headers(nvlist_t *props, struct printc *pc)
 	nvpair_t *cur;
 	nvlist_t *dsprops;
 	char *propstr;
-	size_t be_maxcol;
+	size_t be_maxcol, mount_colsz;
 
 	if (pc->show_all_datasets || pc->show_snaps)
 		chosen_be_header = HEADER_BEPLUS;
 	else
 		chosen_be_header = HEADER_BE;
 	be_maxcol = strlen(chosen_be_header);
+	mount_colsz = strlen(HEADER_MOUNT);
 	for (cur = nvlist_next_nvpair(props, NULL); cur != NULL;
 	    cur = nvlist_next_nvpair(props, cur)) {
 		be_maxcol = MAX(be_maxcol, strlen(nvpair_name(cur)));
+		nvpair_value_nvlist(cur, &dsprops);
+
+		if (nvlist_lookup_string(dsprops, "mounted", &propstr) == 0)
+			mount_colsz = MAX(mount_colsz, strlen(propstr));
 		if (!pc->show_all_datasets && !pc->show_snaps)
 			continue;
-		nvpair_value_nvlist(cur, &dsprops);
 		if (nvlist_lookup_string(dsprops, "dataset", &propstr) != 0)
 			continue;
 		be_maxcol = MAX(be_maxcol, strlen(propstr) + INDENT_INCREMENT);
@@ -316,10 +320,10 @@ print_headers(nvlist_t *props, struct printc *pc)
 
 	pc->be_colsz = be_maxcol;
 	pc->active_colsz_def = strlen(HEADER_ACTIVE);
-	pc->mount_colsz = strlen(HEADER_MOUNT);
+	pc->mount_colsz = mount_colsz;
 	pc->space_colsz = strlen(HEADER_SPACE);
-	printf("%*s %s %s %s %s\n", -pc->be_colsz, chosen_be_header,
-	    HEADER_ACTIVE, HEADER_MOUNT, HEADER_SPACE, HEADER_CREATED);
+	printf("%*s %s %*s %s %s\n", -pc->be_colsz, chosen_be_header,
+	    HEADER_ACTIVE, -pc->mount_colsz, HEADER_MOUNT, HEADER_SPACE, HEADER_CREATED);
 
 	/*
 	 * All other invocations in which we aren't using the default header



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202009080737.0887bjE8074806>