6931 lib/libzfs: cleanup gcc warnings
illumos/illumos-gate@88f61dee20
88f61dee20
https://www.illumos.org/issues/6931
need cleanup:
CERRWARN += -_gcc=-Wno-switch
CERRWARN += -_gcc=-Wno-parentheses
CERRWARN += -_gcc=-Wno-unused-function
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Igor Kozhukhov <ikozhukhov@gmail.com>
This commit is contained in:
parent
febe58b078
commit
dc71048043
@ -22,6 +22,7 @@
|
||||
* Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright 2010 Nexenta Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2013 by Delphix. All rights reserved.
|
||||
* Copyright 2016 Igor Kozhukhov <ikozhukhov@gmail.com>
|
||||
*/
|
||||
|
||||
#include <sys/zfs_context.h>
|
||||
@ -177,8 +178,9 @@ zfs_deleg_verify_nvlist(nvlist_t *nvp)
|
||||
nvpair_name(perm_name));
|
||||
if (error)
|
||||
return (-1);
|
||||
} while (perm_name = nvlist_next_nvpair(perms, perm_name));
|
||||
} while (who = nvlist_next_nvpair(nvp, who));
|
||||
} while ((perm_name = nvlist_next_nvpair(perms, perm_name))
|
||||
!= NULL);
|
||||
} while ((who = nvlist_next_nvpair(nvp, who)) != NULL);
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
@ -24,6 +24,7 @@
|
||||
* Use is subject to license terms.
|
||||
*
|
||||
* Portions Copyright 2007 Ramprakash Jelari
|
||||
* Copyright 2016 Igor Kozhukhov <ikozhukhov@gmail.com>
|
||||
*/
|
||||
|
||||
#include <libintl.h>
|
||||
@ -131,6 +132,9 @@ changelist_prefix(prop_changelist_t *clp)
|
||||
case ZFS_PROP_SHARESMB:
|
||||
(void) zfs_unshare_smb(cn->cn_handle, NULL);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -29,6 +29,7 @@
|
||||
* Copyright (c) 2013 Steven Hartland. All rights reserved.
|
||||
* Copyright (c) 2014 Integros [integros.com]
|
||||
* Copyright 2016 Nexenta Systems, Inc.
|
||||
* Copyright 2016 Igor Kozhukhov <ikozhukhov@gmail.com>
|
||||
*/
|
||||
|
||||
#include <ctype.h>
|
||||
@ -80,54 +81,17 @@ zfs_type_to_name(zfs_type_t type)
|
||||
return (dgettext(TEXT_DOMAIN, "snapshot"));
|
||||
case ZFS_TYPE_VOLUME:
|
||||
return (dgettext(TEXT_DOMAIN, "volume"));
|
||||
case ZFS_TYPE_POOL:
|
||||
return (dgettext(TEXT_DOMAIN, "pool"));
|
||||
case ZFS_TYPE_BOOKMARK:
|
||||
return (dgettext(TEXT_DOMAIN, "bookmark"));
|
||||
default:
|
||||
assert(!"unhandled zfs_type_t");
|
||||
}
|
||||
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* Given a path and mask of ZFS types, return a string describing this dataset.
|
||||
* This is used when we fail to open a dataset and we cannot get an exact type.
|
||||
* We guess what the type would have been based on the path and the mask of
|
||||
* acceptable types.
|
||||
*/
|
||||
static const char *
|
||||
path_to_str(const char *path, int types)
|
||||
{
|
||||
/*
|
||||
* When given a single type, always report the exact type.
|
||||
*/
|
||||
if (types == ZFS_TYPE_SNAPSHOT)
|
||||
return (dgettext(TEXT_DOMAIN, "snapshot"));
|
||||
if (types == ZFS_TYPE_FILESYSTEM)
|
||||
return (dgettext(TEXT_DOMAIN, "filesystem"));
|
||||
if (types == ZFS_TYPE_VOLUME)
|
||||
return (dgettext(TEXT_DOMAIN, "volume"));
|
||||
|
||||
/*
|
||||
* The user is requesting more than one type of dataset. If this is the
|
||||
* case, consult the path itself. If we're looking for a snapshot, and
|
||||
* a '@' is found, then report it as "snapshot". Otherwise, remove the
|
||||
* snapshot attribute and try again.
|
||||
*/
|
||||
if (types & ZFS_TYPE_SNAPSHOT) {
|
||||
if (strchr(path, '@') != NULL)
|
||||
return (dgettext(TEXT_DOMAIN, "snapshot"));
|
||||
return (path_to_str(path, types & ~ZFS_TYPE_SNAPSHOT));
|
||||
}
|
||||
|
||||
/*
|
||||
* The user has requested either filesystems or volumes.
|
||||
* We have no way of knowing a priori what type this would be, so always
|
||||
* report it as "filesystem" or "volume", our two primitive types.
|
||||
*/
|
||||
if (types & ZFS_TYPE_FILESYSTEM)
|
||||
return (dgettext(TEXT_DOMAIN, "filesystem"));
|
||||
|
||||
assert(types & ZFS_TYPE_VOLUME);
|
||||
return (dgettext(TEXT_DOMAIN, "volume"));
|
||||
}
|
||||
|
||||
/*
|
||||
* Validate a ZFS path. This is used even before trying to open the dataset, to
|
||||
* provide a more meaningful error message. We call zfs_error_aux() to
|
||||
@ -189,6 +153,11 @@ zfs_validate_name(libzfs_handle_t *hdl, const char *path, int type,
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"reserved disk name"));
|
||||
break;
|
||||
|
||||
default:
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"(%d) not defined"), why);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -755,7 +724,8 @@ libzfs_mnttab_fini(libzfs_handle_t *hdl)
|
||||
void *cookie = NULL;
|
||||
mnttab_node_t *mtn;
|
||||
|
||||
while (mtn = avl_destroy_nodes(&hdl->libzfs_mnttab_cache, &cookie)) {
|
||||
while ((mtn = avl_destroy_nodes(&hdl->libzfs_mnttab_cache, &cookie))
|
||||
!= NULL) {
|
||||
free(mtn->mtn_mt.mnt_special);
|
||||
free(mtn->mtn_mt.mnt_mountp);
|
||||
free(mtn->mtn_mt.mnt_fstype);
|
||||
@ -827,7 +797,8 @@ libzfs_mnttab_remove(libzfs_handle_t *hdl, const char *fsname)
|
||||
mnttab_node_t *ret;
|
||||
|
||||
find.mtn_mt.mnt_special = (char *)fsname;
|
||||
if (ret = avl_find(&hdl->libzfs_mnttab_cache, (void *)&find, NULL)) {
|
||||
if ((ret = avl_find(&hdl->libzfs_mnttab_cache, (void *)&find, NULL))
|
||||
!= NULL) {
|
||||
avl_remove(&hdl->libzfs_mnttab_cache, ret);
|
||||
free(ret->mtn_mt.mnt_special);
|
||||
free(ret->mtn_mt.mnt_mountp);
|
||||
@ -1173,6 +1144,13 @@ zfs_valid_proplist(libzfs_handle_t *hdl, zfs_type_t type, nvlist_t *nvl,
|
||||
"component of '%s' is too long"),
|
||||
propname);
|
||||
break;
|
||||
|
||||
default:
|
||||
zfs_error_aux(hdl,
|
||||
dgettext(TEXT_DOMAIN,
|
||||
"(%d) not defined"),
|
||||
why);
|
||||
break;
|
||||
}
|
||||
(void) zfs_error(hdl, EZFS_BADPROP, errbuf);
|
||||
goto error;
|
||||
@ -1291,12 +1269,17 @@ zfs_valid_proplist(libzfs_handle_t *hdl, zfs_type_t type, nvlist_t *nvl,
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case ZFS_PROP_UTF8ONLY:
|
||||
chosen_utf = (int)intval;
|
||||
break;
|
||||
|
||||
case ZFS_PROP_NORMALIZE:
|
||||
chosen_normal = (int)intval;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1345,6 +1328,9 @@ zfs_valid_proplist(libzfs_handle_t *hdl, zfs_type_t type, nvlist_t *nvl,
|
||||
goto error;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1932,6 +1918,9 @@ get_numeric_property(zfs_handle_t *zhp, zfs_prop_t prop, zprop_source_t *src,
|
||||
mntopt_on = MNTOPT_NBMAND;
|
||||
mntopt_off = MNTOPT_NONBMAND;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -3105,7 +3094,7 @@ create_parents(libzfs_handle_t *hdl, char *target, int prefixlen)
|
||||
* up to the prefixlen-long one.
|
||||
*/
|
||||
for (cp = target + prefixlen + 1;
|
||||
cp = strchr(cp, '/'); *cp = '/', cp++) {
|
||||
(cp = strchr(cp, '/')) != NULL; *cp = '/', cp++) {
|
||||
|
||||
*cp = '\0';
|
||||
|
||||
@ -3871,7 +3860,7 @@ int
|
||||
zfs_rename(zfs_handle_t *zhp, const char *target, boolean_t recursive,
|
||||
boolean_t force_unmount)
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
zfs_cmd_t zc = { 0 };
|
||||
char *delim;
|
||||
prop_changelist_t *cl = NULL;
|
||||
|
@ -23,6 +23,7 @@
|
||||
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright 2015 Nexenta Systems, Inc. All rights reserved.
|
||||
* Copyright 2016 Joyent, Inc.
|
||||
* Copyright 2016 Igor Kozhukhov <ikozhukhov@gmail.com>
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -351,7 +352,7 @@ write_inuse_diffs(FILE *fp, differ_info_t *di, dmu_diff_record_t *dr)
|
||||
int err;
|
||||
|
||||
for (o = dr->ddr_first; o <= dr->ddr_last; o++) {
|
||||
if (err = write_inuse_diffs_one(fp, di, o))
|
||||
if ((err = write_inuse_diffs_one(fp, di, o)) != 0)
|
||||
return (err);
|
||||
}
|
||||
return (0);
|
||||
|
@ -22,6 +22,7 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2014 by Delphix. All rights reserved.
|
||||
* Copyright 2016 Igor Kozhukhov <ikozhukhov@gmail.com>
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -467,7 +468,8 @@ zfs_is_shared_proto(zfs_handle_t *zhp, char **where, zfs_share_proto_t proto)
|
||||
if (!zfs_is_mounted(zhp, &mountpoint))
|
||||
return (SHARED_NOT_SHARED);
|
||||
|
||||
if (rc = is_shared(zhp->zfs_hdl, mountpoint, proto)) {
|
||||
if ((rc = is_shared(zhp->zfs_hdl, mountpoint, proto))
|
||||
!= SHARED_NOT_SHARED) {
|
||||
if (where != NULL)
|
||||
*where = mountpoint;
|
||||
else
|
||||
|
@ -24,6 +24,7 @@
|
||||
* Copyright (c) 2011, 2015 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2013, Joyent, Inc. All rights reserved.
|
||||
* Copyright 2016 Nexenta Systems, Inc.
|
||||
* Copyright 2016 Igor Kozhukhov <ikozhukhov@gmail.com>
|
||||
*/
|
||||
|
||||
#include <ctype.h>
|
||||
@ -199,6 +200,9 @@ zpool_state_to_name(vdev_state_t state, vdev_aux_t aux)
|
||||
return (gettext("DEGRADED"));
|
||||
case VDEV_STATE_HEALTHY:
|
||||
return (gettext("ONLINE"));
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return (gettext("UNKNOWN"));
|
||||
@ -634,6 +638,11 @@ zpool_valid_proplist(libzfs_handle_t *hdl, const char *poolname,
|
||||
goto error;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"property '%s'(%d) not defined"), propname, prop);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -942,6 +951,10 @@ zpool_name_valid(libzfs_handle_t *hdl, boolean_t isopen, const char *pool)
|
||||
"multiple '@' delimiters in name"));
|
||||
break;
|
||||
|
||||
default:
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"(%d) not defined"), why);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return (B_FALSE);
|
||||
|
@ -27,6 +27,7 @@
|
||||
* Copyright (c) 2013 Steven Hartland. All rights reserved.
|
||||
* Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
|
||||
* Copyright (c) 2014 Integros [integros.com]
|
||||
* Copyright 2016 Igor Kozhukhov <ikozhukhov@gmail.com>
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
@ -1275,8 +1276,8 @@ dump_snapshot(zfs_handle_t *zhp, void *arg)
|
||||
pa.pa_fd = sdd->outfd;
|
||||
pa.pa_parsable = sdd->parsable;
|
||||
|
||||
if (err = pthread_create(&tid, NULL,
|
||||
send_progress_thread, &pa)) {
|
||||
if ((err = pthread_create(&tid, NULL,
|
||||
send_progress_thread, &pa)) != 0) {
|
||||
zfs_close(zhp);
|
||||
return (err);
|
||||
}
|
||||
@ -1752,7 +1753,7 @@ zfs_send(zfs_handle_t *zhp, const char *fromsnap, const char *tosnap,
|
||||
if (flags->dedup && !flags->dryrun) {
|
||||
featureflags |= (DMU_BACKUP_FEATURE_DEDUP |
|
||||
DMU_BACKUP_FEATURE_DEDUPPROPS);
|
||||
if (err = pipe(pipefd)) {
|
||||
if ((err = pipe(pipefd)) != 0) {
|
||||
zfs_error_aux(zhp->zfs_hdl, strerror(errno));
|
||||
return (zfs_error(zhp->zfs_hdl, EZFS_PIPEFAILED,
|
||||
errbuf));
|
||||
@ -1760,7 +1761,7 @@ zfs_send(zfs_handle_t *zhp, const char *fromsnap, const char *tosnap,
|
||||
dda.outputfd = outfd;
|
||||
dda.inputfd = pipefd[1];
|
||||
dda.dedup_hdl = zhp->zfs_hdl;
|
||||
if (err = pthread_create(&tid, NULL, cksummer, &dda)) {
|
||||
if ((err = pthread_create(&tid, NULL, cksummer, &dda)) != 0) {
|
||||
(void) close(pipefd[0]);
|
||||
(void) close(pipefd[1]);
|
||||
zfs_error_aux(zhp->zfs_hdl, strerror(errno));
|
||||
|
@ -23,6 +23,7 @@
|
||||
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, Joyent, Inc. All rights reserved.
|
||||
* Copyright (c) 2011, 2015 by Delphix. All rights reserved.
|
||||
* Copyright 2016 Igor Kozhukhov <ikozhukhov@gmail.com>
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -1019,6 +1020,10 @@ zprop_print_one_property(const char *name, zprop_get_cbdata_t *cbp,
|
||||
case ZPROP_SRC_RECEIVED:
|
||||
str = "received";
|
||||
break;
|
||||
|
||||
default:
|
||||
str = NULL;
|
||||
assert(!"unhandled zprop_source_t");
|
||||
}
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user