mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-23 02:44:41 +03:00
libzfs: convert to -fvisibility=hidden
Also mark all printf-like funxions in libzfs_impl.h as printf-like and add --no-show-locs to storeabi, in hopes diffs will make more sense in future This removes these symbols from libzfs: D nfs_only T SHA256Init T SHA2Final T SHA2Init T SHA2Update T SHA384Init T SHA512Init D share_all_proto D smb_only T zfs_is_shared_proto W zpool_mount_datasets W zpool_unmount_datasets Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Matthew Ahrens <mahrens@delphix.com> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #12048
This commit is contained in:
@@ -8,6 +8,7 @@ VPATH = \
|
||||
# Suppress unused but set variable warnings often due to ASSERTs
|
||||
AM_CFLAGS += $(NO_UNUSED_BUT_SET_VARIABLE)
|
||||
AM_CFLAGS += $(LIBCRYPTO_CFLAGS) $(ZLIB_CFLAGS)
|
||||
AM_CFLAGS += -fvisibility=hidden
|
||||
|
||||
pkgconfig_DATA = libzfs.pc
|
||||
|
||||
|
||||
+5164
-5699
File diff suppressed because it is too large
Load Diff
@@ -284,7 +284,7 @@ changelist_postfix(prop_changelist_t *clp)
|
||||
/*
|
||||
* Is this "dataset" a child of "parent"?
|
||||
*/
|
||||
boolean_t
|
||||
static boolean_t
|
||||
isa_child_of(const char *dataset, const char *parent)
|
||||
{
|
||||
int len;
|
||||
|
||||
+46
-43
@@ -131,27 +131,31 @@ typedef struct zfs_uri_handler {
|
||||
|
||||
#define CONFIG_BUF_MINSIZE 262144
|
||||
|
||||
int zfs_error(libzfs_handle_t *, int, const char *);
|
||||
int zfs_error_fmt(libzfs_handle_t *, int, const char *, ...);
|
||||
void zfs_error_aux(libzfs_handle_t *, const char *, ...);
|
||||
void *zfs_alloc(libzfs_handle_t *, size_t);
|
||||
void *zfs_realloc(libzfs_handle_t *, void *, size_t, size_t);
|
||||
char *zfs_asprintf(libzfs_handle_t *, const char *, ...);
|
||||
char *zfs_strdup(libzfs_handle_t *, const char *);
|
||||
int no_memory(libzfs_handle_t *);
|
||||
extern int zfs_error(libzfs_handle_t *, int, const char *);
|
||||
extern int zfs_error_fmt(libzfs_handle_t *, int, const char *, ...)
|
||||
__attribute__((format(printf, 3, 4)));
|
||||
extern void zfs_error_aux(libzfs_handle_t *, const char *, ...)
|
||||
__attribute__((format(printf, 2, 3)));
|
||||
extern void *zfs_alloc(libzfs_handle_t *, size_t);
|
||||
extern void *zfs_realloc(libzfs_handle_t *, void *, size_t, size_t);
|
||||
extern char *zfs_asprintf(libzfs_handle_t *, const char *, ...)
|
||||
__attribute__((format(printf, 2, 3)));
|
||||
extern char *zfs_strdup(libzfs_handle_t *, const char *);
|
||||
extern int no_memory(libzfs_handle_t *);
|
||||
|
||||
int zfs_standard_error(libzfs_handle_t *, int, const char *);
|
||||
int zfs_standard_error_fmt(libzfs_handle_t *, int, const char *, ...);
|
||||
void zfs_setprop_error(libzfs_handle_t *, zfs_prop_t, int, char *);
|
||||
int zpool_standard_error(libzfs_handle_t *, int, const char *);
|
||||
int zpool_standard_error_fmt(libzfs_handle_t *, int, const char *, ...);
|
||||
extern int zfs_standard_error_fmt(libzfs_handle_t *, int, const char *, ...)
|
||||
__attribute__((format(printf, 3, 4)));
|
||||
extern void zfs_setprop_error(libzfs_handle_t *, zfs_prop_t, int, char *);
|
||||
extern int zpool_standard_error(libzfs_handle_t *, int, const char *);
|
||||
extern int zpool_standard_error_fmt(libzfs_handle_t *, int, const char *, ...)
|
||||
__attribute__((format(printf, 3, 4)));
|
||||
|
||||
zfs_handle_t *make_dataset_handle_zc(libzfs_handle_t *, zfs_cmd_t *);
|
||||
zfs_handle_t *make_dataset_simple_handle_zc(zfs_handle_t *, zfs_cmd_t *);
|
||||
extern zfs_handle_t *make_dataset_handle_zc(libzfs_handle_t *, zfs_cmd_t *);
|
||||
extern zfs_handle_t *make_dataset_simple_handle_zc(zfs_handle_t *, zfs_cmd_t *);
|
||||
|
||||
int zprop_parse_value(libzfs_handle_t *, nvpair_t *, int, zfs_type_t,
|
||||
extern int zprop_parse_value(libzfs_handle_t *, nvpair_t *, int, zfs_type_t,
|
||||
nvlist_t *, char **, uint64_t *, const char *);
|
||||
int zprop_expand_list(libzfs_handle_t *hdl, zprop_list_t **plp,
|
||||
extern int zprop_expand_list(libzfs_handle_t *hdl, zprop_list_t **plp,
|
||||
zfs_type_t type);
|
||||
|
||||
/*
|
||||
@@ -171,44 +175,42 @@ int zprop_expand_list(libzfs_handle_t *hdl, zprop_list_t **plp,
|
||||
|
||||
typedef struct prop_changelist prop_changelist_t;
|
||||
|
||||
int zcmd_alloc_dst_nvlist(libzfs_handle_t *, zfs_cmd_t *, size_t);
|
||||
int zcmd_write_src_nvlist(libzfs_handle_t *, zfs_cmd_t *, nvlist_t *);
|
||||
int zcmd_write_conf_nvlist(libzfs_handle_t *, zfs_cmd_t *, nvlist_t *);
|
||||
int zcmd_expand_dst_nvlist(libzfs_handle_t *, zfs_cmd_t *);
|
||||
int zcmd_read_dst_nvlist(libzfs_handle_t *, zfs_cmd_t *, nvlist_t **);
|
||||
void zcmd_free_nvlists(zfs_cmd_t *);
|
||||
extern int zcmd_alloc_dst_nvlist(libzfs_handle_t *, zfs_cmd_t *, size_t);
|
||||
extern int zcmd_write_src_nvlist(libzfs_handle_t *, zfs_cmd_t *, nvlist_t *);
|
||||
extern int zcmd_write_conf_nvlist(libzfs_handle_t *, zfs_cmd_t *, nvlist_t *);
|
||||
extern int zcmd_expand_dst_nvlist(libzfs_handle_t *, zfs_cmd_t *);
|
||||
extern int zcmd_read_dst_nvlist(libzfs_handle_t *, zfs_cmd_t *, nvlist_t **);
|
||||
extern void zcmd_free_nvlists(zfs_cmd_t *);
|
||||
|
||||
int changelist_prefix(prop_changelist_t *);
|
||||
int changelist_postfix(prop_changelist_t *);
|
||||
void changelist_rename(prop_changelist_t *, const char *, const char *);
|
||||
void changelist_remove(prop_changelist_t *, const char *);
|
||||
void changelist_free(prop_changelist_t *);
|
||||
prop_changelist_t *changelist_gather(zfs_handle_t *, zfs_prop_t, int, int);
|
||||
int changelist_unshare(prop_changelist_t *, zfs_share_proto_t *);
|
||||
int changelist_haszonedchild(prop_changelist_t *);
|
||||
extern int changelist_prefix(prop_changelist_t *);
|
||||
extern int changelist_postfix(prop_changelist_t *);
|
||||
extern void changelist_rename(prop_changelist_t *, const char *, const char *);
|
||||
extern void changelist_remove(prop_changelist_t *, const char *);
|
||||
extern void changelist_free(prop_changelist_t *);
|
||||
extern prop_changelist_t *changelist_gather(zfs_handle_t *, zfs_prop_t, int,
|
||||
int);
|
||||
extern int changelist_unshare(prop_changelist_t *, zfs_share_proto_t *);
|
||||
extern int changelist_haszonedchild(prop_changelist_t *);
|
||||
|
||||
void remove_mountpoint(zfs_handle_t *);
|
||||
int create_parents(libzfs_handle_t *, char *, int);
|
||||
boolean_t isa_child_of(const char *dataset, const char *parent);
|
||||
extern void remove_mountpoint(zfs_handle_t *);
|
||||
extern int create_parents(libzfs_handle_t *, char *, int);
|
||||
|
||||
zfs_handle_t *make_dataset_handle(libzfs_handle_t *, const char *);
|
||||
zfs_handle_t *make_bookmark_handle(zfs_handle_t *, const char *,
|
||||
extern zfs_handle_t *make_dataset_handle(libzfs_handle_t *, const char *);
|
||||
extern zfs_handle_t *make_bookmark_handle(zfs_handle_t *, const char *,
|
||||
nvlist_t *props);
|
||||
|
||||
int zpool_open_silent(libzfs_handle_t *, const char *, zpool_handle_t **);
|
||||
extern int zpool_open_silent(libzfs_handle_t *, const char *,
|
||||
zpool_handle_t **);
|
||||
|
||||
boolean_t zpool_name_valid(libzfs_handle_t *, boolean_t, const char *);
|
||||
extern boolean_t zpool_name_valid(libzfs_handle_t *, boolean_t, const char *);
|
||||
|
||||
int zfs_validate_name(libzfs_handle_t *hdl, const char *path, int type,
|
||||
extern int zfs_validate_name(libzfs_handle_t *hdl, const char *path, int type,
|
||||
boolean_t modifying);
|
||||
|
||||
void namespace_clear(libzfs_handle_t *);
|
||||
extern void namespace_clear(libzfs_handle_t *);
|
||||
|
||||
extern int zfs_parse_options(char *, zfs_share_proto_t);
|
||||
|
||||
extern int zfs_unshare_proto(zfs_handle_t *,
|
||||
const char *, zfs_share_proto_t *);
|
||||
|
||||
typedef struct {
|
||||
zfs_prop_t p_prop;
|
||||
char *p_name;
|
||||
@@ -243,6 +245,7 @@ extern int do_mount(zfs_handle_t *zhp, const char *mntpt, char *opts,
|
||||
int flags);
|
||||
extern int do_unmount(const char *mntpt, int flags);
|
||||
extern int zfs_share_proto(zfs_handle_t *zhp, zfs_share_proto_t *proto);
|
||||
extern int zfs_unshare_proto(zfs_handle_t *, const char *, zfs_share_proto_t *);
|
||||
extern int unshare_one(libzfs_handle_t *hdl, const char *name,
|
||||
const char *mountpoint, zfs_share_proto_t proto);
|
||||
extern boolean_t zfs_is_mountable(zfs_handle_t *zhp, char *buf, size_t buflen,
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
static int mount_tp_nthr = 512; /* tpool threads for multi-threaded mounting */
|
||||
|
||||
static void zfs_mount_task(void *);
|
||||
zfs_share_type_t zfs_is_shared_proto(zfs_handle_t *, char **,
|
||||
static zfs_share_type_t zfs_is_shared_proto(zfs_handle_t *, char **,
|
||||
zfs_share_proto_t);
|
||||
|
||||
/*
|
||||
@@ -107,16 +107,16 @@ proto_table_t proto_table[PROTO_END] = {
|
||||
{ZFS_PROP_SHARESMB, "smb", EZFS_SHARESMBFAILED, EZFS_UNSHARESMBFAILED},
|
||||
};
|
||||
|
||||
zfs_share_proto_t nfs_only[] = {
|
||||
static zfs_share_proto_t nfs_only[] = {
|
||||
PROTO_NFS,
|
||||
PROTO_END
|
||||
};
|
||||
|
||||
zfs_share_proto_t smb_only[] = {
|
||||
static zfs_share_proto_t smb_only[] = {
|
||||
PROTO_SMB,
|
||||
PROTO_END
|
||||
};
|
||||
zfs_share_proto_t share_all_proto[] = {
|
||||
static zfs_share_proto_t share_all_proto[] = {
|
||||
PROTO_NFS,
|
||||
PROTO_SMB,
|
||||
PROTO_END
|
||||
@@ -818,7 +818,7 @@ zfs_unshare(zfs_handle_t *zhp)
|
||||
/*
|
||||
* Check to see if the filesystem is currently shared.
|
||||
*/
|
||||
zfs_share_type_t
|
||||
static zfs_share_type_t
|
||||
zfs_is_shared_proto(zfs_handle_t *zhp, char **where, zfs_share_proto_t proto)
|
||||
{
|
||||
char *mountpoint;
|
||||
@@ -1451,7 +1451,6 @@ zfs_foreach_mountpoint(libzfs_handle_t *hdl, zfs_handle_t **handles,
|
||||
* Mount and share all datasets within the given pool. This assumes that no
|
||||
* datasets within the pool are currently mounted.
|
||||
*/
|
||||
#pragma weak zpool_mount_datasets = zpool_enable_datasets
|
||||
int
|
||||
zpool_enable_datasets(zpool_handle_t *zhp, const char *mntopts, int flags)
|
||||
{
|
||||
@@ -1513,8 +1512,6 @@ mountpoint_compare(const void *a, const void *b)
|
||||
return (strcmp(mountb, mounta));
|
||||
}
|
||||
|
||||
/* alias for 2002/240 */
|
||||
#pragma weak zpool_unmount_datasets = zpool_disable_datasets
|
||||
/*
|
||||
* Unshare and unmount all datasets within the given pool. We don't want to
|
||||
* rely on traversing the DSL to discover the filesystems within the pool,
|
||||
|
||||
Reference in New Issue
Block a user