From owner-svn-src-all@FreeBSD.ORG Tue Jul 31 17:28:29 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B6F7F106564A; Tue, 31 Jul 2012 17:28:29 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 879EC8FC16; Tue, 31 Jul 2012 17:28:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q6VHSTD6051658; Tue, 31 Jul 2012 17:28:29 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q6VHSTlh051656; Tue, 31 Jul 2012 17:28:29 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201207311728.q6VHSTlh051656@svn.freebsd.org> From: Martin Matuska Date: Tue, 31 Jul 2012 17:28:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r238950 - head/cddl/contrib/opensolaris/cmd/zpool X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2012 17:28:30 -0000 Author: mm Date: Tue Jul 31 17:28:28 2012 New Revision: 238950 URL: http://svn.freebsd.org/changeset/base/238950 Log: Fix reporting of root pool upgrade notice. MFC after: 2 weeks Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Tue Jul 31 17:08:29 2012 (r238949) +++ head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Tue Jul 31 17:28:28 2012 (r238950) @@ -4409,6 +4409,7 @@ typedef struct upgrade_cbdata { char **cb_argv; } upgrade_cbdata_t; +#ifdef __FreeBSD__ static int is_root_pool(zpool_handle_t *zhp) { @@ -4434,6 +4435,14 @@ is_root_pool(zpool_handle_t *zhp) return (poolname != NULL && strcmp(poolname, zpool_get_name(zhp)) == 0); } +static void +root_pool_upgrade_check(zpool_handle_t *zhp, char *poolname, int size) { + + if (poolname[0] == '\0' && is_root_pool(zhp)) + (void) strlcpy(poolname, zpool_get_name(zhp), size); +} +#endif /* FreeBSD */ + static int upgrade_version(zpool_handle_t *zhp, uint64_t version) { @@ -4524,12 +4533,8 @@ upgrade_cb(zpool_handle_t *zhp, void *ar if (ret != 0) return (ret); #ifdef __FreeBSD__ - if (cbp->cb_poolname[0] == '\0' && - is_root_pool(zhp)) { - (void) strlcpy(cbp->cb_poolname, - zpool_get_name(zhp), - sizeof(cbp->cb_poolname)); - } + root_pool_upgrade_check(zhp, cbp->cb_poolname, + sizeof(cbp->cb_poolname)); #endif /* ___FreeBSD__ */ printnl = B_TRUE; @@ -4682,17 +4687,12 @@ upgrade_one(zpool_handle_t *zhp, void *d if (cur_version != cbp->cb_version) { printnl = B_TRUE; ret = upgrade_version(zhp, cbp->cb_version); - if (ret != 0) { + if (ret != 0) + return (ret); #ifdef __FreeBSD__ - if (cbp->cb_poolname[0] == '\0' && - is_root_pool(zhp)) { - (void) strlcpy(cbp->cb_poolname, - zpool_get_name(zhp), - sizeof(cbp->cb_poolname)); - } + root_pool_upgrade_check(zhp, cbp->cb_poolname, + sizeof(cbp->cb_poolname)); #endif /* ___FreeBSD__ */ - return (ret); - } } if (cbp->cb_version >= SPA_VERSION_FEATURES) { @@ -4703,15 +4703,15 @@ upgrade_one(zpool_handle_t *zhp, void *d if (count != 0) { printnl = B_TRUE; +#ifdef __FreeBSD__ + root_pool_upgrade_check(zhp, cbp->cb_poolname, + sizeof(cbp->cb_poolname)); +#endif /* __FreeBSD __*/ } else if (cur_version == SPA_VERSION) { (void) printf(gettext("Pool '%s' already has all " "supported features enabled.\n"), zpool_get_name(zhp)); } - if (cbp->cb_poolname[0] == '\0' && is_root_pool(zhp)) { - (void) strlcpy(cbp->cb_poolname, zpool_get_name(zhp), - sizeof(cbp->cb_poolname)); - } } if (printnl) {