On Thu, Aug 08, 2024 at 05:25:39PM +0200, Martin Wilck wrote: > The first 2 patches are minor, independent fixes. > > The rest of the set renames identifiers that possibly conflict with reserved > names of the C library, and should have no influence on the functionality > of the code. > > According to the glibc docs, user code must not redefine any type, function, > variable, or macro names that are part of the ISO C standard [1]. Moreover, > identifiers must not start with "__" (double underscore) or underscore and > capital letter, and names starting with underscore are forbidden for globally > visible symbols. > > This patch series tries to make the multipath-tools code comply with these > requirements, at least to some extent. I haven't bothered renaming local > or static variables, or variables like "__x" in macro bodies, for example. > The starting point for the series was the request not to export strlcat > and strlcpy any more [2]. > > In most cases, I have simply replaced __xyz() or _xyz() by xyz__() (two > underscores to make them better visible). In some cases, when xyz() was not > defined, I've simply renamed _xyz() to xyz(). There are exceptions to these > rules. Despite some small misgivings about renaming symbols (which quite possibly aren't being used by anyone) in our user-facing libraries, libpmathpersist and libmpathcmd, for the set: Reviewed-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> > The set also fixes some typos where __attribute__ was misspelled. > > [1] https://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html > [2] https://github.com/opensvc/multipath-tools/issues/91 > > Martin Wilck (41): > multipath-tools tests: make alias.test succeed with increased > verbosity > libmpathutil: avoid extra memory allocation in print_strbuf() > libmpathutil: rename strlcat and strlcpy > libmpathutil.version: remove strlcpy and strlcat, and LIBMULTIPATH > section > libmpathutil: fix __attribute typo in log_pthread.c > libmultipath: devmapper.c: rename __DR_UNUSED__, and fix __attribute > typo > multipathd: fix __attribute typo > multipath-tools: use common convention for "header file included" > macros > libmpathcmd: rename __mpath_connect() to mpath_connect__() > libmpathutil: rename _MAX_CMD_LEN > libmpathutil: rename __append_strbuf_str() and __get_strbuf_buf() > libmpathutil: rename _log_bitfield_overflow() > libmpathutil: rename _install_keyword() to install_keyword__() > libmultipath: rename _NVME_LIB_C > libmultipath: checkers.h: fix __CHECKER_FIRST_MSG in comment > libmultipath: rename identifiers with leading underscores in > devmapper.h > libmultipath: rename identifiers with leading underscores in > discovery.h > libmultipath: rename __snprint_config() > libmultipath: rename __unlock() > libmultipath: rename __sysfs_attr_get_value() > libmultipath: rename __snprint_foreign_topology() > libmultipath: rename macros with double underscores in propsel.c > libmultipath: rename enum values with double underscores in structs.h > libmultipath: rename macros starting with underscore > libmultipath: rename __internal_config variable > libmultipath: rename _dm_flush_map() to dm_flush_map__() > libmultipath: foreign: rename _check() to check__() > libmultipath: rename _cleanup_foreign() > libmultipath: rename _init_config() > libmultipath: rename symbols starting with underscore in print.h > libmultipath: remove dead code in pgpolicies.h > libmultipath: remove struct and union names in cciss.h > libmpathpersist: rename functions with double leading underscore > libdmmp: rename macros starting with _DMMP > libdmmp: rename enum values and variables starting with _DMMP_ > libdmmp: rename non-static functions starting with underscore > multipathd: rename symbols with double leading underscore > multipath-tools tests: rename functions with double underscores > kpartx: rename macros with leading underscores > libmpathutil: rename struct _vector to vector_s > libmultipath: don't define __user > > create-config.mk | 4 +- > kpartx/byteorder.h | 6 +- > kpartx/crc32.h | 6 +- > kpartx/dasd.h | 6 +- > kpartx/devmapper.c | 20 +++--- > kpartx/devmapper.h | 6 +- > kpartx/dos.h | 2 +- > kpartx/efi.h | 6 +- > kpartx/gpt.h | 4 +- > kpartx/kpartx.h | 6 +- > kpartx/lopart.h | 3 + > kpartx/mac.h | 4 +- > kpartx/xstrncpy.h | 3 + > libdmmp/libdmmp.c | 72 +++++++++---------- > libdmmp/libdmmp/libdmmp.h | 6 +- > libdmmp/libdmmp_misc.c | 10 +-- > libdmmp/libdmmp_mp.c | 12 ++-- > libdmmp/libdmmp_path.c | 22 +++--- > libdmmp/libdmmp_pg.c | 40 +++++------ > libdmmp/libdmmp_private.h | 32 ++++----- > libmpathcmd/libmpathcmd.version | 4 +- > libmpathcmd/mpath_cmd.c | 4 +- > libmpathcmd/mpath_cmd.h | 8 +-- > libmpathpersist/libmpathpersist.version | 6 +- > libmpathpersist/mpath_persist.c | 22 +++--- > libmpathpersist/mpath_persist.h | 45 ++++++------ > libmpathpersist/mpath_persist_int.h | 6 +- > libmpathpersist/mpath_pr_ioctl.h | 5 ++ > libmpathpersist/mpathpr.h | 4 +- > libmpathutil/debug.h | 6 +- > libmpathutil/globals.h | 4 +- > libmpathutil/libmpathutil.version | 90 ++++++++++-------------- > libmpathutil/log.h | 6 +- > libmpathutil/log_pthread.c | 2 +- > libmpathutil/log_pthread.h | 6 +- > libmpathutil/msort.h | 4 +- > libmpathutil/parser.c | 6 +- > libmpathutil/parser.h | 32 ++++----- > libmpathutil/strbuf.c | 29 +++++--- > libmpathutil/strbuf.h | 10 +-- > libmpathutil/time-util.h | 6 +- > libmpathutil/util.c | 6 +- > libmpathutil/util.h | 25 ++++--- > libmpathutil/uxsock.h | 7 +- > libmpathutil/vector.c | 2 +- > libmpathutil/vector.h | 10 +-- > libmpathvalid/mpath_valid.h | 6 +- > libmultipath/alias.c | 4 +- > libmultipath/alias.h | 6 +- > libmultipath/blacklist.c | 14 ++-- > libmultipath/blacklist.h | 14 ++-- > libmultipath/checkers.h | 8 +-- > libmultipath/checkers/cciss.h | 22 +++--- > libmultipath/checkers/directio.c | 8 +-- > libmultipath/checkers/directio.h | 6 +- > libmultipath/checkers/emc_clariion.c | 20 +++--- > libmultipath/checkers/emc_clariion.h | 6 +- > libmultipath/checkers/hp_sw.h | 6 +- > libmultipath/checkers/rdac.c | 20 +++--- > libmultipath/checkers/rdac.h | 6 +- > libmultipath/checkers/readsector0.h | 6 +- > libmultipath/checkers/tur.c | 10 +-- > libmultipath/checkers/tur.h | 6 +- > libmultipath/config.c | 30 ++++---- > libmultipath/config.h | 10 +-- > libmultipath/configure.c | 2 +- > libmultipath/configure.h | 6 +- > libmultipath/defaults.h | 7 +- > libmultipath/devmapper.c | 28 ++++---- > libmultipath/devmapper.h | 27 +++---- > libmultipath/dict.c | 4 +- > libmultipath/dict.h | 9 +-- > libmultipath/discovery.c | 18 ++--- > libmultipath/discovery.h | 38 +++++----- > libmultipath/dm-generic.c | 8 +-- > libmultipath/dm-generic.h | 6 +- > libmultipath/dmparser.c | 2 +- > libmultipath/dmparser.h | 7 +- > libmultipath/file.h | 6 +- > libmultipath/foreign.c | 36 +++++----- > libmultipath/foreign.h | 19 ++--- > libmultipath/foreign/nvme.c | 50 ++++++------- > libmultipath/generic.h | 14 ++-- > libmultipath/hwtable.h | 6 +- > libmultipath/io_err_stat.c | 4 +- > libmultipath/io_err_stat.h | 6 +- > libmultipath/libmultipath.version | 20 +++--- > libmultipath/libsg.h | 6 +- > libmultipath/list.h | 6 +- > libmultipath/lock.c | 4 +- > libmultipath/lock.h | 8 +-- > libmultipath/nvme-lib.c | 2 +- > libmultipath/nvme-lib.h | 8 +-- > libmultipath/nvme/argconfig.h | 4 +- > libmultipath/nvme/json.h | 4 +- > libmultipath/nvme/linux/nvme.h | 6 +- > libmultipath/nvme/linux/nvme_ioctl.h | 6 +- > libmultipath/nvme/nvme-ioctl.h | 6 +- > libmultipath/nvme/nvme.h | 6 +- > libmultipath/nvme/plugin.h | 4 +- > libmultipath/pgpolicies.h | 10 +-- > libmultipath/print.c | 68 +++++++++--------- > libmultipath/print.h | 34 ++++----- > libmultipath/prio.h | 6 +- > libmultipath/prioritizers/alua.h | 4 +- > libmultipath/prioritizers/alua_rtpg.c | 1 - > libmultipath/prioritizers/alua_rtpg.h | 6 +- > libmultipath/prioritizers/alua_spc3.h | 6 +- > libmultipath/prioritizers/weightedpath.h | 4 +- > libmultipath/prkey.h | 6 +- > libmultipath/propsel.c | 10 +-- > libmultipath/propsel.h | 3 + > libmultipath/sg_include.h | 4 +- > libmultipath/structs.c | 12 ++-- > libmultipath/structs.h | 22 +++--- > libmultipath/structs_vec.c | 2 +- > libmultipath/structs_vec.h | 8 +-- > libmultipath/switchgroup.h | 5 ++ > libmultipath/sysfs.c | 6 +- > libmultipath/sysfs.h | 4 +- > libmultipath/uevent.h | 6 +- > libmultipath/unaligned.h | 6 +- > libmultipath/valid.c | 14 ++-- > libmultipath/valid.h | 6 +- > libmultipath/version.h | 6 +- > libmultipath/wwids.h | 6 +- > mpathpersist/main.c | 6 +- > mpathpersist/main.h | 4 ++ > multipathd/cli.c | 6 +- > multipathd/cli.h | 16 ++--- > multipathd/cli_handlers.c | 8 +-- > multipathd/cli_handlers.h | 4 +- > multipathd/dmevents.c | 2 +- > multipathd/dmevents.h | 6 +- > multipathd/fpin.h | 4 +- > multipathd/init_unwinder.h | 4 +- > multipathd/main.c | 36 +++++----- > multipathd/main.h | 6 +- > multipathd/pidfile.h | 4 ++ > multipathd/uxclnt.h | 5 ++ > multipathd/uxlsnr.c | 6 +- > multipathd/uxlsnr.h | 4 +- > multipathd/waiter.c | 2 +- > multipathd/waiter.h | 6 +- > tests/alias.c | 64 +++++++++++------ > tests/mpathvalid.c | 2 +- > tests/strbuf.c | 80 +++++++++++++++++++-- > tests/sysfs.c | 20 +++--- > tests/test-lib.c | 4 +- > tests/test-lib.h | 20 +++--- > tests/test-log.h | 4 +- > tests/valid.c | 16 ++--- > tests/wrap64.h | 4 +- > 153 files changed, 981 insertions(+), 853 deletions(-) > > -- > 2.46.0