Mock Version: 2.15 Mock Version: 2.15 Mock Version: 2.15 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target riscv64 --nodeps /builddir/build/SPECS/sheepdog.spec'], chrootPath='/var/lib/mock/f40-build-766416-124114/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=604800uid=991gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target riscv64 --nodeps /builddir/build/SPECS/sheepdog.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False warning: %patchN is deprecated (1 usages found), use %patch N (or %patch -P N) Building target platforms: riscv64 Building for target riscv64 setting SOURCE_DATE_EPOCH=1689984000 Wrote: /builddir/build/SRPMS/sheepdog-1.0.1-20.fc40.src.rpm RPM build warnings: %patchN is deprecated (1 usages found), use %patch N (or %patch -P N) Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target riscv64 --nodeps /builddir/build/SPECS/sheepdog.spec'], chrootPath='/var/lib/mock/f40-build-766416-124114/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=604800uid=991gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target riscv64 --nodeps /builddir/build/SPECS/sheepdog.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False warning: %patchN is deprecated (1 usages found), use %patch N (or %patch -P N) Building target platforms: riscv64 Building for target riscv64 setting SOURCE_DATE_EPOCH=1689984000 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.OfZPXi + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf sheepdog-1.0.1 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/v1.0.1.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd sheepdog-1.0.1 + rm -rf /builddir/build/BUILD/sheepdog-1.0.1-SPECPARTS + /usr/bin/mkdir -p /builddir/build/BUILD/sheepdog-1.0.1-SPECPARTS + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + echo 'Patch #0 (sha1-extern.patch):' Patch #0 (sha1-extern.patch): + /usr/bin/patch --no-backup-if-mismatch -f -p1 --fuzz=0 patching file include/sha1.h + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.RAik3c + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd sheepdog-1.0.1 + ./autogen.sh Building configuration system... libtoolize: putting auxiliary files in '.'. libtoolize: copying file './ltmain.sh' libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, libtoolize: and rerunning libtoolize and aclocal. libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. configure.ac:30: warning: The macro `AC_CONFIG_HEADER' is obsolete. configure.ac:30: You should run autoupdate. ./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from... configure.ac:30: the top level configure.ac:82: warning: The macro `AC_PROG_LIBTOOL' is obsolete. configure.ac:82: You should run autoupdate. aclocal.m4:122: AC_PROG_LIBTOOL is expanded from... configure.ac:82: the top level configure.ac:117: warning: The macro `AC_HEADER_STDC' is obsolete. configure.ac:117: You should run autoupdate. ./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from... configure.ac:117: the top level configure.ac:132: warning: The macro `AC_HEADER_TIME' is obsolete. configure.ac:132: You should run autoupdate. ./lib/autoconf/headers.m4:743: AC_HEADER_TIME is expanded from... configure.ac:132: the top level configure.ac:163: warning: The macro `AC_TYPE_SIGNAL' is obsolete. configure.ac:163: You should run autoupdate. ./lib/autoconf/types.m4:776: AC_TYPE_SIGNAL is expanded from... configure.ac:163: the top level configure.ac:36: installing './compile' configure.ac:32: installing './config.guess' configure.ac:32: installing './config.sub' configure.ac:27: installing './install-sh' configure.ac:27: installing './missing' dog/Makefile.am: installing './depcomp' parallel-tests: installing './test-driver' Now run ./configure and make + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + '[' x '!=' x ']' + '[' 1 = 1 ']' +++ dirname ./configure ++ find . -name config.guess -o -name config.sub + for i in $(find $(dirname ./configure) -name config.guess -o -name config.sub) ++ basename ./config.sub + '[' -f /usr/lib/rpm/redhat/config.sub ']' + /usr/bin/rm -f ./config.sub ++ basename ./config.sub + /usr/bin/cp -fv /usr/lib/rpm/redhat/config.sub ./config.sub '/usr/lib/rpm/redhat/config.sub' -> './config.sub' + for i in $(find $(dirname ./configure) -name config.guess -o -name config.sub) ++ basename ./config.guess + '[' -f /usr/lib/rpm/redhat/config.guess ']' + /usr/bin/rm -f ./config.guess ++ basename ./config.guess + /usr/bin/cp -fv /usr/lib/rpm/redhat/config.guess ./config.guess '/usr/lib/rpm/redhat/config.guess' -> './config.guess' + '[' 1 = 1 ']' + '[' x '!=' 'x-Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' ']' ++ find . -name ltmain.sh + for i in $(find . -name ltmain.sh) + /usr/bin/sed -i.backup -e 's~compiler_flags=$~compiler_flags="-Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld"~' ./ltmain.sh ++ grep -q runstatedir=DIR ./configure ++ echo --runstatedir=/run + ./configure --build=riscv64-redhat-linux-gnu --host=riscv64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --runstatedir=/run --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --without-initddir --without-systemdsystemunitdir --disable-static checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking build system type... riscv64-redhat-linux-gnu checking host system type... riscv64-redhat-linux-gnu checking how to print strings... printf checking whether make supports the include directive... yes (GNU style) checking for riscv64-redhat-linux-gnu-gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... none checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert riscv64-redhat-linux-gnu file names to riscv64-redhat-linux-gnu format... func_convert_file_noop checking how to convert riscv64-redhat-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for riscv64-redhat-linux-gnu-file... no checking for file... file checking for riscv64-redhat-linux-gnu-objdump... no checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for riscv64-redhat-linux-gnu-dlltool... no checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for riscv64-redhat-linux-gnu-ar... no checking for ar... ar checking for archiver @FILE support... @ checking for riscv64-redhat-linux-gnu-strip... no checking for strip... strip checking for riscv64-redhat-linux-gnu-ranlib... no checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for riscv64-redhat-linux-gnu-mt... no checking for mt... no checking if : is a manifest tool... no checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for sys/time.h... yes checking for vfork.h... no checking for sys/select.h... yes checking for sys/socket.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... no checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking whether make supports nested variables... (cached) yes checking for riscv64-redhat-linux-gnu-gcc... (cached) gcc checking whether the compiler supports GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to enable C11 features... (cached) none needed checking whether gcc understands -c and -o together... (cached) yes checking dependency style of gcc... (cached) none checking dependency style of gcc... none checking whether ln -s works... yes checking whether make sets $(MAKE)... (cached) yes checking for groff... groff checking for socket in -lsocket... no checking for clock_gettime in -lrt... yes checking for size_t... yes checking for working alloca.h... yes checking for alloca... yes checking for dirent.h that defines DIR... yes checking for library containing opendir... none required checking for egrep... (cached) /usr/bin/grep -E checking for sys/wait.h that is POSIX.1 compatible... yes checking for arpa/inet.h... yes checking for fcntl.h... yes checking for limits.h... yes checking for netdb.h... yes checking for netinet/in.h... yes checking for stdint.h... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for sys/ioctl.h... yes checking for sys/param.h... yes checking for sys/socket.h... (cached) yes checking for sys/time.h... (cached) yes checking for syslog.h... yes checking for unistd.h... (cached) yes checking for sys/types.h... (cached) yes checking for getopt.h... yes checking for malloc.h... yes checking for sys/sockio.h... no checking for utmpx.h... yes checking for urcu.h... yes checking for urcu/uatomic.h... yes checking for an ANSI C-conforming const... yes checking how to run the C preprocessor... gcc -E checking for uid_t in sys/types.h... yes checking for inline... inline checking for size_t... (cached) yes checking for working volatile... yes checking size of short... 2 checking size of int... 4 checking size of long... 8 checking size of long long... 8 checking for sys/eventfd.h... yes checking for sys/signalfd.h... yes checking for sys/timerfd.h... yes checking whether closedir returns void... no checking for error_at_line... yes checking for mbstate_t... yes checking for gcc options needed to detect all undeclared functions... none needed checking whether getenv is declared... yes checking for btowc... yes checking for mbsrtowcs... yes checking for mempcpy... yes checking for wmempcpy... yes checking for fork... yes checking for vfork... yes checking for vprintf... yes checking for working POSIX fnmatch... yes checking for pid_t... yes checking for working fork... yes checking for working vfork... (cached) yes checking whether gcc needs -traditional... no checking for GNU libc compatible malloc... yes checking for working memcmp... yes checking for GNU libc compatible realloc... yes checking types of arguments for select... int,fd_set *,struct timeval * checking return type of signal handlers... void checking for alarm... yes checking for alphasort... yes checking for atexit... yes checking for bzero... yes checking for dup2... yes checking for endgrent... yes checking for endpwent... yes checking for fcntl... yes checking for getcwd... yes checking for getpeerucred... no checking for getpeereid... no checking for gettimeofday... yes checking for inet_ntoa... yes checking for memmove... yes checking for memset... yes checking for mkdir... yes checking for scandir... yes checking for select... yes checking for socket... yes checking for strcasecmp... yes checking for strchr... yes checking for strdup... yes checking for strerror... yes checking for strrchr... yes checking for strspn... yes checking for strstr... yes checking for fallocate... yes configure: Sanitizing prefix: /usr configure: Sanitizing exec_prefix: /usr checking for riscv64-redhat-linux-gnu-pkg-config... /usr/bin/riscv64-redhat-linux-gnu-pkg-config checking pkg-config is at least version 0.9.0... yes checking for fuse... yes checking for libcpg... yes checking for libcfg... yes checking for corosync >= 2... yes checking for libqb... yes checking for libcorosync_common... yes checking for fuse.h... yes checking whether gcc supports "-Wall"... yes checking whether gcc supports "-Wshadow"... yes checking whether gcc supports "-Wmissing-prototypes"... yes checking whether gcc supports "-Wmissing-declarations"... yes checking whether gcc supports "-Wstrict-prototypes"... yes checking whether gcc supports "-Wpointer-arith"... yes checking whether gcc supports "-Wwrite-strings"... yes checking whether gcc supports "-Wbad-function-cast"... yes checking whether gcc supports "-Wmissing-format-attribute"... yes checking whether gcc supports "-Wformat=2"... yes checking whether gcc supports "-Wformat-security"... yes checking whether gcc supports "-Wformat-nonliteral"... yes checking whether gcc supports "-Wno-long-long"... yes checking whether gcc supports "-Wunsigned-char"... no checking whether gcc supports "-Wgnu89-inline"... no checking whether gcc supports "-Wno-strict-aliasing"... yes checking whether gcc supports "-Wcast-align"... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating dog/Makefile config.status: creating sheep/Makefile config.status: creating sheepfs/Makefile config.status: creating include/Makefile config.status: creating script/Makefile config.status: creating lib/Makefile config.status: creating man/Makefile config.status: creating shepherd/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/unit/mock/Makefile config.status: creating tests/unit/dog/Makefile config.status: creating tests/unit/sheep/Makefile config.status: creating tests/unit/lib/Makefile config.status: creating tools/Makefile config.status: creating include/config.h config.status: executing depfiles commands config.status: executing libtool commands sheepdog configuration: Version = 1.0.1 Prefix = /usr Executables = /usr/sbin Man pages = /usr/share/man Doc dir = ${datarootdir}/doc/${PACKAGE_TARNAME} Libraries = /usr/lib64 Header files = /usr/include Arch-independent files = /usr/share State information = /var System configuration = /etc System init.d directory = no sheepdog config dir = /etc/sheepdog Features = corosync sheepfs sheepdog build info: Library SONAME = Default optimization = -DNDEBUG Default debug options = Extra compiler warnings = Env. defined CFLAG = -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer Env. defined CPPFLAGS = Env. defined LDFLAGS = -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes OS defined CFLAGS = OS defined CPPFLAGS = OS defined LDFLAGS = OS defined LDL = -ldl OS defined DYFLAGS = ANSI defined CPPFLAGS = Coverage CFLAGS = Coverage LDFLAGS = Fatal War. CFLAGS = Trace CFLAGS = Final CFLAGS = -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 Final CPPFLAGS = Final LDFLAGS = -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes + make -j4 V=1 Making all in lib make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/lib' gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o libsheepdog_a-util.o `test -f 'util.c' || echo './'`util.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o event.o event.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o logger.o logger.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o net.o net.c In file included from event.c:20: event.c: In function ‘lookup_event’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ event.c:100:16: note: in expansion of macro ‘rb_search’ 100 | return rb_search(&events_tree, &key, rb, event_cmp); | ^~~~~~~~~ event.c: In function ‘register_event_prio’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ event.c:124:17: note: in expansion of macro ‘rb_insert’ 124 | rb_insert(&events_tree, ei, rb, event_cmp); | ^~~~~~~~~ In file included from ../include/logger.h:20, from ../include/util.h:61, from logger.c:38: logger.c: In function ‘init_log_formatter’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ logger.c:281:9: note: in expansion of macro ‘list_for_each_entry’ 281 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ logger.c:281:9: note: in expansion of macro ‘list_for_each_entry’ 281 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ logger.c:281:9: note: in expansion of macro ‘list_for_each_entry’ 281 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ logger.c: In function ‘dolog’: logger.c:402:30: warning: cast increases required alignment of target type [-Wcast-align] 402 | struct logmsg *msg = (struct logmsg *)buf; | ^ logger.c:431:31: warning: cast increases required alignment of target type [-Wcast-align] 431 | msg = (struct logmsg *)la->tail; | ^ logger.c: In function ‘log_flush’: logger.c:525:23: warning: cast increases required alignment of target type [-Wcast-align] 525 | msg = (const struct logmsg *)(log_buff + done); | ^ logger.c: In function ‘early_log_init’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ logger.c:642:9: note: in expansion of macro ‘list_for_each_entry’ 642 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ logger.c:642:9: note: in expansion of macro ‘list_for_each_entry’ 642 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ logger.c:642:9: note: in expansion of macro ‘list_for_each_entry’ 642 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ logger.c:651:9: note: in expansion of macro ‘list_for_each_entry’ 651 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ logger.c:651:9: note: in expansion of macro ‘list_for_each_entry’ 651 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ logger.c:651:9: note: in expansion of macro ‘list_for_each_entry’ 651 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from net.c:31: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ net.c: In function ‘str_to_addr’: net.c:441:31: warning: cast increases required alignment of target type [-Wcast-align] 441 | sin = (struct sockaddr_in *) rp->ai_addr; | ^ net.c:445:32: warning: cast increases required alignment of target type [-Wcast-align] 445 | sin6 = (struct sockaddr_in6 *) rp->ai_addr; | ^ net.c: In function ‘get_local_addr’: net.c:548:31: warning: cast increases required alignment of target type [-Wcast-align] 548 | sin = (struct sockaddr_in *)ifa->ifa_addr; | ^ net.c:554:32: warning: cast increases required alignment of target type [-Wcast-align] 554 | sin6 = (struct sockaddr_in6 *)ifa->ifa_addr; | ^ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o util.o util.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o rbtree.o rbtree.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o strbuf.o strbuf.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o sha1.o sha1.c In file included from /usr/include/arpa/inet.h:22, from sha1.c:22: sha1.c: In function ‘sha1_transform’: sha1.c:74:37: warning: cast increases required alignment of target type [-Wcast-align] 74 | block32[a] = ntohl(((const uint32_t *)in)[a]); | ^ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o option.o option.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o work.o work.c In file included from ../include/logger.h:20, from ../include/util.h:61, from work.c:32: work.c: In function ‘queue_work’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ work.c:277:30: note: in expansion of macro ‘container_of’ 277 | struct wq_info *wi = container_of(q, struct wq_info, q); | ^~~~~~~~~~~~ work.c: In function ‘worker_thread_request_done’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ work.c:305:9: note: in expansion of macro ‘list_for_each_entry’ 305 | list_for_each_entry(wi, &wq_info_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ work.c:305:9: note: in expansion of macro ‘list_for_each_entry’ 305 | list_for_each_entry(wi, &wq_info_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ work.c:305:9: note: in expansion of macro ‘list_for_each_entry’ 305 | list_for_each_entry(wi, &wq_info_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:9: note: in expansion of macro ‘list_entry’ 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ work.c:311:32: note: in expansion of macro ‘list_first_entry’ 311 | work = list_first_entry(&list, struct work, w_list); | ^~~~~~~~~~~~~~~~ work.c: In function ‘worker_routine’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:9: note: in expansion of macro ‘list_entry’ 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ work.c:350:24: note: in expansion of macro ‘list_first_entry’ 350 | work = list_first_entry(&wi->q.pending_list, | ^~~~~~~~~~~~~~~~ work.c: In function ‘create_fixed_work_queue’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ work.c:459:14: note: in expansion of macro ‘container_of’ 459 | wi = container_of(wq, struct wq_info, q); | ^~~~~~~~~~~~ work.c: In function ‘work_queue_empty’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ work.c:470:30: note: in expansion of macro ‘container_of’ 470 | struct wq_info *wi = container_of(q, struct wq_info, q); | ^~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o sockfd_cache.o sockfd_cache.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o fec.o fec.c In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sockfd_cache.h:4, from sockfd_cache.c:32: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ sockfd_cache.c: In function ‘sockfd_cache_insert’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ sockfd_cache.c:87:16: note: in expansion of macro ‘rb_insert’ 87 | return rb_insert(&sockfd_cache.root, new, rb, sockfd_cache_cmp); | ^~~~~~~~~ sockfd_cache.c: In function ‘sockfd_cache_search’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ sockfd_cache.c:94:16: note: in expansion of macro ‘rb_search’ 94 | return rb_search(&sockfd_cache.root, &key, rb, sockfd_cache_cmp); | ^~~~~~~~~ sockfd_cache.c: In function ‘sockfd_cache_add_group’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ sockfd_cache.c:218:9: note: in expansion of macro ‘rb_for_each_entry’ 218 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ sockfd_cache.c: In function ‘do_grow_fds’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ sockfd_cache.c:264:9: note: in expansion of macro ‘rb_for_each_entry’ 264 | rb_for_each_entry(entry, &sockfd_cache.root, rb) { | ^~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o sd_inode.o sd_inode.c In file included from ../include/logger.h:20, from ../include/util.h:61, from sd_inode.c:83: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ sd_inode.c: In function ‘traverse_btree’: sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:95:29: note: in expansion of macro ‘FIRST_INDEX’ 95 | #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) | ^~~~~~~~~~~ sd_inode.c:152:24: note: in expansion of macro ‘LAST_INDEX’ 152 | last = LAST_INDEX(inode->data_vdi_id); | ^~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:153:24: note: in expansion of macro ‘FIRST_INDEX’ 153 | iter = FIRST_INDEX(inode->data_vdi_id); | ^~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:102:35: note: in expansion of macro ‘FIRST_INDIRECT_IDX’ 102 | #define LAST_INDRECT_IDX(data) (FIRST_INDIRECT_IDX(data) + \ | ^~~~~~~~~~~~~~~~~~ sd_inode.c:161:28: note: in expansion of macro ‘LAST_INDRECT_IDX’ 161 | last_idx = LAST_INDRECT_IDX(inode->data_vdi_id); | ^~~~~~~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:162:28: note: in expansion of macro ‘FIRST_INDIRECT_IDX’ 162 | iter_idx = FIRST_INDIRECT_IDX(inode->data_vdi_id); | ^~~~~~~~~~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:95:29: note: in expansion of macro ‘FIRST_INDEX’ 95 | #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) | ^~~~~~~~~~~ sd_inode.c:179:32: note: in expansion of macro ‘LAST_INDEX’ 179 | last = LAST_INDEX(leaf_node); | ^~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:180:32: note: in expansion of macro ‘FIRST_INDEX’ 180 | iter = FIRST_INDEX(leaf_node); | ^~~~~~~~~~~ sd_inode.c: In function ‘index_in_range’: sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:95:29: note: in expansion of macro ‘FIRST_INDEX’ 95 | #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) | ^~~~~~~~~~~ sd_inode.c:340:33: note: in expansion of macro ‘LAST_INDEX’ 340 | struct sd_index *last = LAST_INDEX(header); | ^~~~~~~~~~ sd_inode.c: In function ‘indirect_in_range’: sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:102:35: note: in expansion of macro ‘FIRST_INDIRECT_IDX’ 102 | #define LAST_INDRECT_IDX(data) (FIRST_INDIRECT_IDX(data) + \ | ^~~~~~~~~~~~~~~~~~ sd_inode.c:349:40: note: in expansion of macro ‘LAST_INDRECT_IDX’ 349 | struct sd_indirect_idx *last = LAST_INDRECT_IDX(header); | ^~~~~~~~~~~~~~~~ sd_inode.c: In function ‘search_index_entry’: sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ ../include/util.h:178:33: note: in definition of macro ‘nbsearch’ 178 | typeof(key) __m, __l = base, __r = base + nmemb - 1; \ | ^~~~ sd_inode.c:360:31: note: in expansion of macro ‘FIRST_INDEX’ 360 | return nbsearch(&tmp, FIRST_INDEX(header), header->entries, | ^~~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ ../include/util.h:178:45: note: in definition of macro ‘nbsearch’ 178 | typeof(key) __m, __l = base, __r = base + nmemb - 1; \ | ^~~~ sd_inode.c:360:31: note: in expansion of macro ‘FIRST_INDEX’ 360 | return nbsearch(&tmp, FIRST_INDEX(header), header->entries, | ^~~~~~~~~~~ sd_inode.c: In function ‘search_indirect_entry’: sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ ../include/util.h:178:33: note: in definition of macro ‘nbsearch’ 178 | typeof(key) __m, __l = base, __r = base + nmemb - 1; \ | ^~~~ sd_inode.c:370:31: note: in expansion of macro ‘FIRST_INDIRECT_IDX’ 370 | return nbsearch(&tmp, FIRST_INDIRECT_IDX(header), header->entries, | ^~~~~~~~~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ ../include/util.h:178:45: note: in definition of macro ‘nbsearch’ 178 | typeof(key) __m, __l = base, __r = base + nmemb - 1; \ | ^~~~ sd_inode.c:370:31: note: in expansion of macro ‘FIRST_INDIRECT_IDX’ 370 | return nbsearch(&tmp, FIRST_INDIRECT_IDX(header), header->entries, | ^~~~~~~~~~~~~~~~~~ sd_inode.c: In function ‘insert_index_nosearch’: sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:95:29: note: in expansion of macro ‘FIRST_INDEX’ 95 | #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) | ^~~~~~~~~~~ sd_inode.c:378:33: note: in expansion of macro ‘LAST_INDEX’ 378 | struct sd_index *last = LAST_INDEX(header); | ^~~~~~~~~~ sd_inode.c: In function ‘insert_indirect_nosearch’: sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:102:35: note: in expansion of macro ‘FIRST_INDIRECT_IDX’ 102 | #define LAST_INDRECT_IDX(data) (FIRST_INDIRECT_IDX(data) + \ | ^~~~~~~~~~~~~~~~~~ sd_inode.c:390:40: note: in expansion of macro ‘LAST_INDRECT_IDX’ 390 | struct sd_indirect_idx *last = LAST_INDRECT_IDX(header); | ^~~~~~~~~~~~~~~~ sd_inode.c: In function ‘insert_idx_entry’: sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:407:17: note: in expansion of macro ‘FIRST_INDIRECT_IDX’ 407 | FIRST_INDIRECT_IDX(header)->idx = idx; | ^~~~~~~~~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:408:17: note: in expansion of macro ‘FIRST_INDIRECT_IDX’ 408 | FIRST_INDIRECT_IDX(header)->oid = oid; | ^~~~~~~~~~~~~~~~~~ sd_inode.c: In function ‘split_to_nodes’: sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:428:17: note: in expansion of macro ‘FIRST_INDEX’ 428 | mempcpy(FIRST_INDEX(right), OFFSET_EXT(src, num), | ^~~~~~~~~~~ sd_inode.c: In function ‘transfer_to_idx_root’: sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:95:29: note: in expansion of macro ‘FIRST_INDEX’ 95 | #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) | ^~~~~~~~~~~ sd_inode.c:465:33: note: in expansion of macro ‘LAST_INDEX’ 465 | insert_idx_entry(root, (LAST_INDEX(left) - 1)->idx, left_oid); | ^~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:95:29: note: in expansion of macro ‘FIRST_INDEX’ 95 | #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) | ^~~~~~~~~~~ sd_inode.c:466:33: note: in expansion of macro ‘LAST_INDEX’ 466 | insert_idx_entry(root, (LAST_INDEX(right) - 1)->idx, right_oid); | ^~~~~~~~~~ sd_inode.c: In function ‘split_index_node’: sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:95:29: note: in expansion of macro ‘FIRST_INDEX’ 95 | #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) | ^~~~~~~~~~~ sd_inode.c:585:26: note: in expansion of macro ‘LAST_INDEX’ 585 | LAST_INDEX(new_ext)->idx, new_oid); | ^~~~~~~~~~ sd_inode.c: In function ‘insert_new_node’: sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:95:29: note: in expansion of macro ‘FIRST_INDEX’ 95 | #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) | ^~~~~~~~~~~ sd_inode.c:632:34: note: in expansion of macro ‘LAST_INDEX’ 632 | (LAST_INDEX(path->p_index_header) - 1)->idx; | ^~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:646:47: note: in expansion of macro ‘FIRST_INDEX’ 646 | FIRST_INDEX(leaf_node), idx, | ^~~~~~~~~~~ sd_inode.c: In function ‘sd_inode_copy_vdis’: sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:102:35: note: in expansion of macro ‘FIRST_INDIRECT_IDX’ 102 | #define LAST_INDRECT_IDX(data) (FIRST_INDIRECT_IDX(data) + \ | ^~~~~~~~~~~~~~~~~~ sd_inode.c:843:28: note: in expansion of macro ‘LAST_INDRECT_IDX’ 843 | last_idx = LAST_INDRECT_IDX(data_vdi_id); | ^~~~~~~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:844:32: note: in expansion of macro ‘FIRST_INDIRECT_IDX’ 844 | old_iter_idx = FIRST_INDIRECT_IDX(data_vdi_id); | ^~~~~~~~~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:845:32: note: in expansion of macro ‘FIRST_INDIRECT_IDX’ 845 | new_iter_idx = FIRST_INDIRECT_IDX(newi->data_vdi_id); | ^~~~~~~~~~~~~~~~~~ sd_inode.c: In function ‘volume_stat’: sd_inode.c:905:21: warning: cast increases required alignment of target type [-Wcast-align] 905 | p = (uint64_t *)(inode->data_vdi_id + 1); | ^ sd_inode.c:907:21: warning: cast increases required alignment of target type [-Wcast-align] 907 | p = (uint64_t *)inode->data_vdi_id; | ^ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o common.o common.c /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o shared/libsheepdog_la-sheep.lo `test -f 'shared/sheep.c' || echo './'`shared/sheep.c In file included from ../include/logger.h:20, from ../include/util.h:61, from common.c:23: common.c: In function ‘purge_work_fn’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ common.c:132:33: note: in expansion of macro ‘container_of’ 132 | struct purge_work *pw = container_of(work, struct purge_work, work); | ^~~~~~~~~~~~ common.c: In function ‘purge_work_done’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ common.c:160:33: note: in expansion of macro ‘container_of’ 160 | struct purge_work *pw = container_of(work, struct purge_work, work); | ^~~~~~~~~~~~ libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c shared/sheep.c -fPIC -DPIC -o shared/.libs/libsheepdog_la-sheep.o In file included from shared/sheepdog.h:23, from shared/sheep.c:14: shared/sheep.c: In function 'submit_blocking_sheep_request': ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shared/sheep.c:172:9: note: in expansion of macro 'list_for_each_entry' 172 | list_for_each_entry(req, &c->blocking_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shared/sheep.c:172:9: note: in expansion of macro 'list_for_each_entry' 172 | list_for_each_entry(req, &c->blocking_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shared/sheep.c:172:9: note: in expansion of macro 'list_for_each_entry' 172 | list_for_each_entry(req, &c->blocking_list, list) { | ^~~~~~~~~~~~~~~~~~~ shared/sheep.c: In function 'find_inflight_request_oid': ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shared/sheep.c:187:9: note: in expansion of macro 'list_for_each_entry' 187 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shared/sheep.c:187:9: note: in expansion of macro 'list_for_each_entry' 187 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shared/sheep.c:187:9: note: in expansion of macro 'list_for_each_entry' 187 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ shared/sheep.c: In function 'request_handler': ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:9: note: in expansion of macro 'list_entry' 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ shared/sheep.c:238:31: note: in expansion of macro 'list_first_entry' 238 | req = list_first_entry(&c->request_list, | ^~~~~~~~~~~~~~~~ shared/sheep.c: In function 'fetch_first_inflight_request': ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:9: note: in expansion of macro 'list_entry' 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ shared/sheep.c:255:23: note: in expansion of macro 'list_first_entry' 255 | req = list_first_entry(&c->inflight_list, struct sheep_request, | ^~~~~~~~~~~~~~~~ shared/sheep.c: In function 'fetch_inflight_request': ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shared/sheep.c:271:9: note: in expansion of macro 'list_for_each_entry' 271 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shared/sheep.c:271:9: note: in expansion of macro 'list_for_each_entry' 271 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shared/sheep.c:271:9: note: in expansion of macro 'list_for_each_entry' 271 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o shared/libsheepdog_la-vdi.lo `test -f 'shared/vdi.c' || echo './'`shared/vdi.c /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o shared/libsheepdog_la-ops.lo `test -f 'shared/ops.c' || echo './'`shared/ops.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c shared/vdi.c -fPIC -DPIC -o shared/.libs/libsheepdog_la-vdi.o libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c shared/ops.c -fPIC -DPIC -o shared/.libs/libsheepdog_la-ops.o /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o libsheepdog_la-util.lo `test -f 'util.c' || echo './'`util.c In file included from ../include/rbtree.h:4, from ../include/internal_proto.h:24, from ../include/sheep.h:16, from shared/vdi.c:16: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ In file included from shared/sheepdog.h:23, from shared/vdi.c:14: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ shared/vdi.c: In function 'sd_vdi_snapshot': shared/vdi.c:324:34: warning: cast increases required alignment of target type [-Wcast-align] 324 | struct sd_inode *inode = (struct sd_inode *)buf; | ^ shared/vdi.c: In function 'sd_vdi_rollback': shared/vdi.c:557:34: warning: cast increases required alignment of target type [-Wcast-align] 557 | struct sd_inode *inode = (struct sd_inode *)buf; | ^ In file included from /usr/include/string.h:548, from ../include/sheepdog_proto.h:20, from shared/sheepdog.h:21: In function 'memcpy', inlined from 'sd_connect' at shared/sheep.c:462:2: /usr/include/bits/string_fortified.h:29:10: warning: '__builtin_memcpy' forming offset [16, 19] is out of the bounds [0, 16] of object 'addr' with type 'struct sockaddr_in' [-Warray-bounds=] 29 | return __builtin___memcpy_chk (__dest, __src, __len, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | __glibc_objsize0 (__dest)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~ shared/sheep.c: In function 'sd_connect': shared/sheep.c:401:28: note: 'addr' declared here 401 | struct sockaddr_in addr; | ^~~~ libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c util.c -fPIC -DPIC -o .libs/libsheepdog_la-util.o shared/vdi.c: In function 'sd_vdi_snapshot': shared/vdi.c:353:18: warning: array subscript 'struct sd_inode[0]' is partly outside array bounds of 'char[4664]' [-Warray-bounds=] 353 | if (inode->store_policy) { | ^~ shared/vdi.c:323:14: note: object 'buf' of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:359:51: warning: array subscript 'struct sd_inode[0]' is partly outside array bounds of 'char[4664]' [-Warray-bounds=] 359 | ret = write_object(c, vid_to_vdi_oid(inode->vdi_id), 0, snap_tag, | ^~ shared/vdi.c:323:14: note: object 'buf' of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:361:30: warning: array subscript 'struct sd_inode[0]' is partly outside array bounds of 'char[4664]' [-Warray-bounds=] 361 | inode->nr_copies, inode->copy_policy, false, false); | ^~ shared/vdi.c:323:14: note: object 'buf' of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:361:48: warning: array subscript 'struct sd_inode[0]' is partly outside array bounds of 'char[4664]' [-Warray-bounds=] 361 | inode->nr_copies, inode->copy_policy, false, false); | ^~ shared/vdi.c:323:14: note: object 'buf' of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:368:50: warning: array subscript 'struct sd_inode[0]' is partly outside array bounds of 'char[4664]' [-Warray-bounds=] 368 | ret = do_vdi_create(c, inode->name, inode->vdi_size, | ^~ shared/vdi.c:323:14: note: object 'buf' of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:369:30: warning: array subscript 'struct sd_inode[0]' is partly outside array bounds of 'char[4664]' [-Warray-bounds=] 369 | inode->vdi_id, true, inode->nr_copies, | ^~ shared/vdi.c:323:14: note: object 'buf' of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:369:51: warning: array subscript 'struct sd_inode[0]' is partly outside array bounds of 'char[4664]' [-Warray-bounds=] 369 | inode->vdi_id, true, inode->nr_copies, | ^~ shared/vdi.c:323:14: note: object 'buf' of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:370:30: warning: array subscript 'struct sd_inode[0]' is partly outside array bounds of 'char[4664]' [-Warray-bounds=] 370 | inode->copy_policy, inode->store_policy, | ^~ shared/vdi.c:323:14: note: object 'buf' of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:370:54: warning: array subscript 'struct sd_inode[0]' is partly outside array bounds of 'char[4664]' [-Warray-bounds=] 370 | inode->copy_policy, inode->store_policy, | ^~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o shared/libsheepdog_a-sheep.o `test -f 'shared/sheep.c' || echo './'`shared/sheep.c shared/vdi.c:323:14: note: object 'buf' of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:371:30: warning: array subscript 'struct sd_inode[0]' is partly outside array bounds of 'char[4664]' [-Warray-bounds=] 371 | inode->block_size_shift); | ^~ shared/vdi.c:323:14: note: object 'buf' of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o shared/libsheepdog_a-vdi.o `test -f 'shared/vdi.c' || echo './'`shared/vdi.c In file included from shared/sheepdog.h:23, from shared/sheep.c:14: shared/sheep.c: In function ‘submit_blocking_sheep_request’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shared/sheep.c:172:9: note: in expansion of macro ‘list_for_each_entry’ 172 | list_for_each_entry(req, &c->blocking_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shared/sheep.c:172:9: note: in expansion of macro ‘list_for_each_entry’ 172 | list_for_each_entry(req, &c->blocking_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shared/sheep.c:172:9: note: in expansion of macro ‘list_for_each_entry’ 172 | list_for_each_entry(req, &c->blocking_list, list) { | ^~~~~~~~~~~~~~~~~~~ shared/sheep.c: In function ‘find_inflight_request_oid’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shared/sheep.c:187:9: note: in expansion of macro ‘list_for_each_entry’ 187 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shared/sheep.c:187:9: note: in expansion of macro ‘list_for_each_entry’ 187 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shared/sheep.c:187:9: note: in expansion of macro ‘list_for_each_entry’ 187 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ shared/sheep.c: In function ‘request_handler’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:9: note: in expansion of macro ‘list_entry’ 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ shared/sheep.c:238:31: note: in expansion of macro ‘list_first_entry’ 238 | req = list_first_entry(&c->request_list, | ^~~~~~~~~~~~~~~~ shared/sheep.c: In function ‘fetch_first_inflight_request’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:9: note: in expansion of macro ‘list_entry’ 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ shared/sheep.c:255:23: note: in expansion of macro ‘list_first_entry’ 255 | req = list_first_entry(&c->inflight_list, struct sheep_request, | ^~~~~~~~~~~~~~~~ shared/sheep.c: In function ‘fetch_inflight_request’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shared/sheep.c:271:9: note: in expansion of macro ‘list_for_each_entry’ 271 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shared/sheep.c:271:9: note: in expansion of macro ‘list_for_each_entry’ 271 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shared/sheep.c:271:9: note: in expansion of macro ‘list_for_each_entry’ 271 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ In file included from ../include/rbtree.h:4, from ../include/internal_proto.h:24, from ../include/sheep.h:16, from shared/vdi.c:16: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ In file included from shared/sheepdog.h:23, from shared/vdi.c:14: ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ shared/vdi.c: In function ‘sd_vdi_snapshot’: shared/vdi.c:324:34: warning: cast increases required alignment of target type [-Wcast-align] 324 | struct sd_inode *inode = (struct sd_inode *)buf; | ^ shared/vdi.c: In function ‘sd_vdi_rollback’: shared/vdi.c:557:34: warning: cast increases required alignment of target type [-Wcast-align] 557 | struct sd_inode *inode = (struct sd_inode *)buf; | ^ shared/vdi.c: In function 'sd_vdi_rollback': shared/vdi.c:595:43: warning: array subscript 'struct sd_inode[0]' is partly outside array bounds of 'char[4664]' [-Warray-bounds=] 595 | ret = do_vdi_create(c, name, inode->vdi_size, inode->vdi_id, | ^~ shared/vdi.c:556:14: note: object 'buf' of size 4664 556 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:595:60: warning: array subscript 'struct sd_inode[0]' is partly outside array bounds of 'char[4664]' [-Warray-bounds=] 595 | ret = do_vdi_create(c, name, inode->vdi_size, inode->vdi_id, | ^~ shared/vdi.c:556:14: note: object 'buf' of size 4664 556 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:596:37: warning: array subscript 'struct sd_inode[0]' is partly outside array bounds of 'char[4664]' [-Warray-bounds=] 596 | false, inode->nr_copies, inode->copy_policy, | ^~ shared/vdi.c:556:14: note: object 'buf' of size 4664 556 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:596:55: warning: array subscript 'struct sd_inode[0]' is partly outside array bounds of 'char[4664]' [-Warray-bounds=] 596 | false, inode->nr_copies, inode->copy_policy, | ^~ shared/vdi.c:556:14: note: object 'buf' of size 4664 556 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:597:30: warning: array subscript 'struct sd_inode[0]' is partly outside array bounds of 'char[4664]' [-Warray-bounds=] 597 | inode->store_policy, inode->block_size_shift); | ^~ shared/vdi.c:556:14: note: object 'buf' of size 4664 556 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:597:51: warning: array subscript 'struct sd_inode[0]' is partly outside array bounds of 'char[4664]' [-Warray-bounds=] 597 | inode->store_policy, inode->block_size_shift); | ^~ shared/vdi.c:556:14: note: object 'buf' of size 4664 556 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ rm -f libsd.a ar cru libsd.a event.o logger.o net.o util.o rbtree.o strbuf.o sha1.o option.o work.o sockfd_cache.o fec.o sd_inode.o common.o shared/vdi.c: In function ‘sd_vdi_snapshot’: shared/vdi.c:353:18: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 353 | if (inode->store_policy) { | ^~ shared/vdi.c:323:14: note: object ‘buf’ of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:359:51: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 359 | ret = write_object(c, vid_to_vdi_oid(inode->vdi_id), 0, snap_tag, | ^~ shared/vdi.c:323:14: note: object ‘buf’ of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:361:30: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 361 | inode->nr_copies, inode->copy_policy, false, false); | ^~ shared/vdi.c:323:14: note: object ‘buf’ of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:361:48: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 361 | inode->nr_copies, inode->copy_policy, false, false); | ^~ shared/vdi.c:323:14: note: object ‘buf’ of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:368:50: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 368 | ret = do_vdi_create(c, inode->name, inode->vdi_size, | ^~ shared/vdi.c:323:14: note: object ‘buf’ of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:369:30: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 369 | inode->vdi_id, true, inode->nr_copies, | ^~ shared/vdi.c:323:14: note: object ‘buf’ of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:369:51: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 369 | inode->vdi_id, true, inode->nr_copies, | ^~ shared/vdi.c:323:14: note: object ‘buf’ of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:370:30: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 370 | inode->copy_policy, inode->store_policy, | ^~ shared/vdi.c:323:14: note: object ‘buf’ of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:370:54: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 370 | inode->copy_policy, inode->store_policy, | ^~ shared/vdi.c:323:14: note: object ‘buf’ of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:371:30: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 371 | inode->block_size_shift); | ^~ shared/vdi.c:323:14: note: object ‘buf’ of size 4664 323 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -avoid-version -shared -module -export-dynamic -export-symbols-regex 'sd_' -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -o libsheepdog.la -rpath /usr/lib64 shared/libsheepdog_la-sheep.lo shared/libsheepdog_la-vdi.lo shared/libsheepdog_la-ops.lo libsheepdog_la-util.lo -lrt ranlib libsd.a In file included from /usr/include/string.h:548, from ../include/sheepdog_proto.h:20, from shared/sheepdog.h:21: In function ‘memcpy’, inlined from ‘sd_connect’ at shared/sheep.c:462:2: /usr/include/bits/string_fortified.h:29:10: warning: ‘__builtin_memcpy’ forming offset [16, 19] is out of the bounds [0, 16] of object ‘addr’ with type ‘struct sockaddr_in’ [-Warray-bounds=] 29 | return __builtin___memcpy_chk (__dest, __src, __len, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | __glibc_objsize0 (__dest)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~ shared/sheep.c: In function ‘sd_connect’: shared/sheep.c:401:28: note: ‘addr’ declared here 401 | struct sockaddr_in addr; | ^~~~ shared/vdi.c: In function ‘sd_vdi_rollback’: shared/vdi.c:595:43: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 595 | ret = do_vdi_create(c, name, inode->vdi_size, inode->vdi_id, | ^~ shared/vdi.c:556:14: note: object ‘buf’ of size 4664 556 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:595:60: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 595 | ret = do_vdi_create(c, name, inode->vdi_size, inode->vdi_id, | ^~ shared/vdi.c:556:14: note: object ‘buf’ of size 4664 556 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:596:37: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 596 | false, inode->nr_copies, inode->copy_policy, | ^~ shared/vdi.c:556:14: note: object ‘buf’ of size 4664 556 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:596:55: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 596 | false, inode->nr_copies, inode->copy_policy, | ^~ shared/vdi.c:556:14: note: object ‘buf’ of size 4664 556 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:597:30: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 597 | inode->store_policy, inode->block_size_shift); | ^~ shared/vdi.c:556:14: note: object ‘buf’ of size 4664 556 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ shared/vdi.c:597:51: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 597 | inode->store_policy, inode->block_size_shift); | ^~ shared/vdi.c:556:14: note: object ‘buf’ of size 4664 556 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ libtool: link: /usr/bin/nm -B shared/.libs/libsheepdog_la-sheep.o shared/.libs/libsheepdog_la-vdi.o shared/.libs/libsheepdog_la-ops.o .libs/libsheepdog_la-util.o | /usr/bin/sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /usr/bin/sed '/ __gnu_lto/d' | /usr/bin/sed 's/.* //' | sort | uniq > .libs/libsheepdog.exp libtool: link: /usr/bin/grep -E -e "sd_" ".libs/libsheepdog.exp" > ".libs/libsheepdog.expT" libtool: link: mv -f ".libs/libsheepdog.expT" ".libs/libsheepdog.exp" libtool: link: echo "{ global:" > .libs/libsheepdog.ver libtool: link: cat .libs/libsheepdog.exp | /usr/bin/sed -e "s/\(.*\)/\1;/" >> .libs/libsheepdog.ver libtool: link: echo "local: *; };" >> .libs/libsheepdog.ver libtool: link: gcc -shared -fPIC -DPIC shared/.libs/libsheepdog_la-sheep.o shared/.libs/libsheepdog_la-vdi.o shared/.libs/libsheepdog_la-ops.o .libs/libsheepdog_la-util.o -lrt -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -O2 -g -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -ggdb3 -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -Wl,-soname -Wl,libsheepdog.so -Wl,-version-script -Wl,.libs/libsheepdog.ver -o .libs/libsheepdog.so rm -f libsheepdog.a ar cru libsheepdog.a shared/libsheepdog_a-sheep.o shared/libsheepdog_a-vdi.o libsheepdog_a-util.o ranlib libsheepdog.a libtool: link: ( cd ".libs" && rm -f "libsheepdog.la" && ln -s "../libsheepdog.la" "libsheepdog.la" ) make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/lib' Making all in dog make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/dog' gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o dog.o dog.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o common.o common.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o treeview.o treeview.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o vdi.o vdi.c In file included from ../include/logger.h:20, from ../include/util.h:61, from treeview.c:16: treeview.c: In function ‘find_vdi’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ treeview.c:32:9: note: in expansion of macro ‘list_for_each_entry’ 32 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ treeview.c:32:9: note: in expansion of macro ‘list_for_each_entry’ 32 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ treeview.c:32:9: note: in expansion of macro ‘list_for_each_entry’ 32 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ treeview.c: In function ‘find_vdi_by_vid’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ treeview.c:47:9: note: in expansion of macro ‘list_for_each_entry’ 47 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ treeview.c:47:9: note: in expansion of macro ‘list_for_each_entry’ 47 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ treeview.c:47:9: note: in expansion of macro ‘list_for_each_entry’ 47 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ treeview.c: In function ‘find_vdi_by_name’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ treeview.c:63:9: note: in expansion of macro ‘list_for_each_entry’ 63 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ treeview.c:63:9: note: in expansion of macro ‘list_for_each_entry’ 63 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ treeview.c:63:9: note: in expansion of macro ‘list_for_each_entry’ 63 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ treeview.c: In function ‘compaction’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ treeview.c:129:9: note: in expansion of macro ‘list_for_each_entry’ 129 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ treeview.c:129:9: note: in expansion of macro ‘list_for_each_entry’ 129 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ treeview.c:129:9: note: in expansion of macro ‘list_for_each_entry’ 129 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ treeview.c: In function ‘get_depth’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ treeview.c:143:9: note: in expansion of macro ‘list_for_each_entry’ 143 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ treeview.c:143:9: note: in expansion of macro ‘list_for_each_entry’ 143 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ treeview.c:143:9: note: in expansion of macro ‘list_for_each_entry’ 143 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ treeview.c: In function ‘_dump_tree’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ treeview.c:196:9: note: in expansion of macro ‘list_for_each_entry’ 196 | list_for_each_entry(vdi, ¤t->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ treeview.c:196:9: note: in expansion of macro ‘list_for_each_entry’ 196 | list_for_each_entry(vdi, ¤t->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ treeview.c:196:9: note: in expansion of macro ‘list_for_each_entry’ 196 | list_for_each_entry(vdi, ¤t->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ treeview.c: In function ‘dump_tree’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ treeview.c:219:9: note: in expansion of macro ‘list_for_each_entry’ 219 | list_for_each_entry(vdi, &root->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ treeview.c:219:9: note: in expansion of macro ‘list_for_each_entry’ 219 | list_for_each_entry(vdi, &root->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ treeview.c:219:9: note: in expansion of macro ‘list_for_each_entry’ 219 | list_for_each_entry(vdi, &root->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from common.c:12: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from vdi.c:21: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ vdi.c: In function ‘for_each_node_print’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ vdi.c:271:9: note: in expansion of macro ‘rb_for_each_entry’ 271 | rb_for_each_entry(n, &sd_nroot, rb) { | ^~~~~~~~~~~~~~~~~ vdi.c: In function ‘vdi_snapshot’: vdi.c:741:34: warning: cast increases required alignment of target type [-Wcast-align] 741 | struct sd_inode *inode = (struct sd_inode *)buf; | ^ vdi.c: In function ‘vdi_resize’: vdi.c:946:34: warning: cast increases required alignment of target type [-Wcast-align] 946 | struct sd_inode *inode = (struct sd_inode *)buf; | ^ vdi.c: In function ‘vdi_rollback’: vdi.c:1099:34: warning: cast increases required alignment of target type [-Wcast-align] 1099 | struct sd_inode *inode = (struct sd_inode *)buf; | ^ vdi.c: In function ‘save_oid’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ vdi.c:1258:25: note: in expansion of macro ‘rb_search’ 1258 | entry = rb_search(&oid_tree, &key, rb, oid_entry_cmp); | ^~~~~~~~~ vdi.c: In function ‘build_oid_tree’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ vdi.c:1280:9: note: in expansion of macro ‘rb_for_each_entry’ 1280 | rb_for_each_entry(node, &sd_nroot, rb) { | ^~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ vdi.c:1286:17: note: in expansion of macro ‘rb_insert’ 1286 | rb_insert(&oid_tree, entry, rb, oid_entry_cmp); | ^~~~~~~~~ vdi.c: In function ‘destroy_oid_tree’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ vdi.c:1304:9: note: in expansion of macro ‘rb_for_each_entry’ 1304 | rb_for_each_entry(entry, &oid_tree, rb) | ^~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:9: note: in expansion of macro ‘rb_for_each_entry’ 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ vdi.c:1306:9: note: in expansion of macro ‘rb_destroy’ 1306 | rb_destroy(&oid_tree, struct oid_entry, rb); | ^~~~~~~~~~ vdi.c: In function ‘do_vdi_check_exist’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ vdi.c:1318:9: note: in expansion of macro ‘rb_for_each_entry’ 1318 | rb_for_each_entry(entry, &oid_tree, rb) { | ^~~~~~~~~~~~~~~~~ vdi.c: In function ‘do_track_object’: vdi.c:1390:23: warning: cast increases required alignment of target type [-Wcast-align] 1390 | log = (struct epoch_log *)next_log; | ^ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ vdi.c:1408:25: note: in expansion of macro ‘rb_insert’ 1408 | rb_insert(&nroot, &log->nodes[k], rb, node_cmp); | ^~~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.c:19: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:9: note: in expansion of macro ‘rb_for_each_entry’ 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ vdi.c:1419:17: note: in expansion of macro ‘rb_destroy’ 1419 | rb_destroy(&vroot, struct sd_vnode, rb); | ^~~~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ vdi.c: In function ‘vdi_repair_work’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ vdi.c:1891:38: note: in expansion of macro ‘container_of’ 1891 | struct vdi_check_work *vcw = container_of(work, struct vdi_check_work, | ^~~~~~~~~~~~ vdi.c: In function ‘vdi_repair_main’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ vdi.c:1919:38: note: in expansion of macro ‘container_of’ 1919 | struct vdi_check_work *vcw = container_of(work, struct vdi_check_work, | ^~~~~~~~~~~~ vdi.c: In function ‘vdi_check_object_work’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ vdi.c:1935:38: note: in expansion of macro ‘container_of’ 1935 | struct vdi_check_work *vcw = container_of(work, struct vdi_check_work, | ^~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ vdi.c: In function ‘vdi_check_object_main’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ vdi.c:2139:38: note: in expansion of macro ‘container_of’ 2139 | struct vdi_check_work *vcw = container_of(work, struct vdi_check_work, | ^~~~~~~~~~~~ vdi.c: In function ‘vdi_restore’: vdi.c:2564:41: warning: cast increases required alignment of target type [-Wcast-align] 2564 | struct sd_inode *parent_inode = (struct sd_inode *)buf; | ^ dog.c: In function ‘update_node_list’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ dog.c:108:17: note: in expansion of macro ‘rb_insert’ 108 | rb_insert(&sd_nroot, n, rb, node_cmp); | ^~~~~~~~~ vdi.c: In function ‘vdi_alter_copy’: vdi.c:2751:34: warning: cast increases required alignment of target type [-Wcast-align] 2751 | struct sd_inode *inode = (struct sd_inode *)buf; | ^ In file included from ../include/util.h:61: vdi.c: In function ‘for_each_node_print’: vdi.c:285:53: warning: statement will never be executed [-Wswitch-unreachable] 285 | sd_err("%s", sd_strerror(rsp->result)); | ~~~^~~~~~~~ ../include/logger.h:73:56: note: in definition of macro ‘sd_err’ 73 | log_write(SDOG_ERR, __func__, __LINE__, fmt, ##args) | ^~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o node.o node.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o cluster.o cluster.c In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from node.c:12: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ node.c: In function ‘node_list’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ node.c:39:9: note: in expansion of macro ‘rb_for_each_entry’ 39 | rb_for_each_entry(n, &sd_nroot, rb) { | ^~~~~~~~~~~~~~~~~ node.c: In function ‘node_info’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ node.c:58:9: note: in expansion of macro ‘rb_for_each_entry’ 58 | rb_for_each_entry(n, &sd_nroot, rb) { | ^~~~~~~~~~~~~~~~~ node.c: In function ‘node_recovery_info’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ node.c:200:9: note: in expansion of macro ‘rb_for_each_entry’ 200 | rb_for_each_entry(n, &sd_nroot, rb) { | ^~~~~~~~~~~~~~~~~ node.c: In function ‘idx_to_node’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ node.c:356:29: note: in expansion of macro ‘rb_entry’ 356 | struct sd_node *n = rb_entry(rb_first(nroot), struct sd_node, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ node.c:359:21: note: in expansion of macro ‘rb_entry’ 359 | n = rb_entry(rb_next(&n->rb), struct sd_node, rb); | ^~~~~~~~ node.c: In function ‘md_info’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ node.c:544:9: note: in expansion of macro ‘rb_for_each_entry’ 544 | rb_for_each_entry(n, &sd_nroot, rb) { | ^~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from cluster.c:17: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ cluster.c: In function ‘cluster_format’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ cluster.c:106:9: note: in expansion of macro ‘rb_for_each_entry’ 106 | rb_for_each_entry(n, &sd_nroot, rb) { | ^~~~~~~~~~~~~~~~~ cluster.c: In function ‘cluster_info’: cluster.c:386:23: warning: cast increases required alignment of target type [-Wcast-align] 386 | log = (struct epoch_log *)next_log; | ^ cluster.c:387:28: warning: cast increases required alignment of target type [-Wcast-align] 387 | last_log = (struct epoch_log *)((char *)log->nodes | ^ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o upgrade.o upgrade.c In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from upgrade.c:19: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ upgrade.c: In function ‘get_zones_nr_from’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ upgrade.c:42:9: note: in expansion of macro ‘rb_for_each_entry’ 42 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ upgrade.c: In function ‘alloc_vnode_info_from_epoch_file’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ upgrade.c:108:17: note: in expansion of macro ‘rb_insert’ 108 | rb_insert(&vinfo->nroot, &nodes[i], rb, node_cmp); | ^~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o benchmark.o benchmark.c In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from benchmark.c:17: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ benchmark.c: In function ‘benchmark_io_main’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ benchmark.c:54:19: note: in expansion of macro ‘container_of’ 54 | io_work = container_of(work, struct benchmark_io_work, work); | ^~~~~~~~~~~~ benchmark.c: In function ‘benchmark_io_worker’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ benchmark.c:65:19: note: in expansion of macro ‘container_of’ 65 | io_work = container_of(work, struct benchmark_io_work, work); | ^~~~~~~~~~~~ Built dog gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o farm/object_tree.o farm/object_tree.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o farm/sha1_file.o farm/sha1_file.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o farm/snap.o farm/snap.c vdi.c: In function ‘vdi_alter_copy’: vdi.c:2780:18: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 2780 | if (inode->copy_policy) { | ^~ vdi.c:2750:14: note: object ‘buf’ of size 4664 2750 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:2786:30: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 2786 | old_nr_copies = inode->nr_copies; | ^~ vdi.c:2750:14: note: object ‘buf’ of size 4664 2750 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:2804:14: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 2804 | inode->nr_copies = vdi_cmd_data.nr_copies; | ^~ vdi.c:2750:14: note: object ‘buf’ of size 4664 2750 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from ./dog.h:25, from farm/farm.h:16, from farm/object_tree.c:14: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: vdi.c:2807:30: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 2807 | inode->copy_policy, false, true); | ^~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ vdi.c:2750:14: note: object ‘buf’ of size 4664 2750 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ vdi.c:2818:47: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 2818 | hdr.vdi_state.block_size_shift = inode->block_size_shift; | ^~ vdi.c:2750:14: note: object ‘buf’ of size 4664 2750 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ farm/object_tree.c: In function ‘do_insert’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ farm/object_tree.c:45:16: note: in expansion of macro ‘rb_insert’ 45 | return rb_insert(root, new, node, object_tree_cmp); | ^~~~~~~~~ farm/object_tree.c: In function ‘object_tree_print’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ farm/object_tree.c:74:9: note: in expansion of macro ‘rb_for_each_entry’ 74 | rb_for_each_entry(entry, &tree.root, node) | ^~~~~~~~~~~~~~~~~ farm/object_tree.c: In function ‘object_tree_free’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:9: note: in expansion of macro ‘rb_for_each_entry’ 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ farm/object_tree.c:80:9: note: in expansion of macro ‘rb_destroy’ 80 | rb_destroy(&tree.root, struct object_tree_entry, node); | ^~~~~~~~~~ farm/object_tree.c: In function ‘for_each_object_in_tree’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ farm/object_tree.c:97:9: note: in expansion of macro ‘rb_for_each_entry’ 97 | rb_for_each_entry(entry, &tree.root, node) { | ^~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from ./dog.h:25, from farm/farm.h:16, from farm/sha1_file.c:27: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from ./dog.h:25, from farm/farm.h:16, from farm/snap.c:22: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o farm/trunk.o farm/trunk.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o farm/farm.o farm/farm.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o farm/slice.o farm/slice.c vdi.c: In function ‘vdi_resize’: vdi.c:960:44: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 960 | object_size = (UINT32_C(1) << inode->block_size_shift); | ^~ vdi.c:945:14: note: object ‘buf’ of size 4664 945 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:962:23: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 962 | if (0 == inode->store_policy) { | ^~ vdi.c:945:14: note: object ‘buf’ of size 4664 945 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:976:29: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 976 | if (new_size < inode->vdi_size) { | ^~ vdi.c:945:14: note: object ‘buf’ of size 4664 945 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:980:14: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 980 | inode->vdi_size = new_size; | ^~ vdi.c:945:14: note: object ‘buf’ of size 4664 945 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:984:39: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 984 | 0, inode->nr_copies, inode->copy_policy, | ^~ vdi.c:945:14: note: object ‘buf’ of size 4664 945 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:984:57: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 984 | 0, inode->nr_copies, inode->copy_policy, | ^~ vdi.c:945:14: note: object ‘buf’ of size 4664 945 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from ./dog.h:25, from farm/farm.h:16, from farm/trunk.c:25: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ vdi.c: In function ‘vdi_rollback’: vdi.c:1122:43: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 1122 | ret = do_vdi_create(vdiname, inode->vdi_size, base_vid, &new_vid, | ^~ vdi.c:1098:14: note: object ‘buf’ of size 4664 1098 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:1123:42: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 1123 | false, inode->nr_copies, inode->copy_policy, | ^~ vdi.c:1098:14: note: object ‘buf’ of size 4664 1098 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:1123:60: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 1123 | false, inode->nr_copies, inode->copy_policy, | ^~ vdi.c:1098:14: note: object ‘buf’ of size 4664 1098 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from ./dog.h:25, from farm/farm.h:16, from farm/farm.c:18: ../include/sheep.h: In function ‘oid_to_first_vnode’: vdi.c:1124:35: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 1124 | inode->store_policy, inode->block_size_shift); | ^~ vdi.c:1098:14: note: object ‘buf’ of size 4664 1098 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:1124:56: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 1124 | inode->store_policy, inode->block_size_shift); | ^~ vdi.c:1098:14: note: object ‘buf’ of size 4664 1098 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from ./dog.h:25, from farm/farm.h:16, from farm/slice.c:23: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ farm/farm.c: In function ‘add_active_vdi’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ farm/farm.c:92:15: note: in expansion of macro ‘rb_insert’ 92 | ret = rb_insert(&active_vdi_tree, vdi, rb, vdi_cmp); | ^~~~~~~~~ farm/farm.c: In function ‘register_vdi’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ farm/farm.c:113:15: note: in expansion of macro ‘rb_search’ 113 | ret = rb_search(®istered_vdi_tree, new, rb, registered_vdi_cmp); | ^~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ farm/farm.c:121:9: note: in expansion of macro ‘rb_insert’ 121 | rb_insert(®istered_vdi_tree, new, rb, registered_vdi_cmp); | ^~~~~~~~~ farm/farm.c: In function ‘create_active_vdis’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ farm/farm.c:130:9: note: in expansion of macro ‘rb_for_each_entry’ 130 | rb_for_each_entry(vdi, &active_vdi_tree, rb) { | ^~~~~~~~~~~~~~~~~ farm/farm.c: In function ‘do_save_object’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ farm/farm.c:266:14: note: in expansion of macro ‘container_of’ 266 | sw = container_of(work, struct snapshot_work, work); | ^~~~~~~~~~~~ farm/farm.c: In function ‘save_object_done’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ farm/farm.c:293:36: note: in expansion of macro ‘container_of’ 293 | struct snapshot_work *sw = container_of(work, struct snapshot_work, | ^~~~~~~~~~~~ farm/farm.c: In function ‘farm_save_snapshot’: farm/farm.c:382:42: warning: cast increases required alignment of target type [-Wcast-align] 382 | if (trunk_file_write(nr_objects, (struct trunk_entry *)trunk_buf.buf, | ^ farm/farm.c: In function ‘do_load_object’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ farm/farm.c:411:14: note: in expansion of macro ‘container_of’ 411 | sw = container_of(work, struct snapshot_work, work); | ^~~~~~~~~~~~ farm/farm.c: In function ‘load_object_done’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ farm/farm.c:446:36: note: in expansion of macro ‘container_of’ 446 | struct snapshot_work *sw = container_of(work, struct snapshot_work, | ^~~~~~~~~~~~ farm/farm.c: In function ‘queue_load_snapshot_work’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ farm/farm.c:465:22: note: in expansion of macro ‘rb_search’ 465 | if (!rb_search(®istered_obj_tree, &key, rb, | ^~~~~~~~~ farm/farm.c: In function ‘do_register_obj’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ farm/farm.c:522:13: note: in expansion of macro ‘rb_search’ 522 | if (rb_search(®istered_obj_tree, new, rb, registered_obj_cmp)) { | ^~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ farm/farm.c:527:9: note: in expansion of macro ‘rb_insert’ 527 | rb_insert(®istered_obj_tree, new, rb, registered_obj_cmp); | ^~~~~~~~~ farm/farm.c: In function ‘farm_load_snapshot’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:9: note: in expansion of macro ‘rb_for_each_entry’ 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ farm/farm.c:581:9: note: in expansion of macro ‘rb_destroy’ 581 | rb_destroy(&active_vdi_tree, struct active_vdi_entry, rb); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:9: note: in expansion of macro ‘rb_for_each_entry’ 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ farm/farm.c:582:9: note: in expansion of macro ‘rb_destroy’ 582 | rb_destroy(®istered_vdi_tree, struct registered_vdi_entry, rb); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:9: note: in expansion of macro ‘rb_for_each_entry’ 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ farm/farm.c:583:9: note: in expansion of macro ‘rb_destroy’ 583 | rb_destroy(®istered_obj_tree, struct registered_obj_entry, rb); | ^~~~~~~~~~ In file included from dog.h:24: In function ‘vdi_is_snapshot’, inlined from ‘vdi_snapshot’ at vdi.c:770:7: ../include/sheepdog_proto.h:593:23: warning: array subscript ‘const struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 593 | return !!inode->snap_ctime; | ~~~~~^~~~~~~~~~~~ vdi.c: In function ‘vdi_snapshot’: vdi.c:740:14: note: object ‘buf’ of size 4664 740 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:784:18: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 784 | if (inode->store_policy) { | ^~ vdi.c:740:14: note: object ‘buf’ of size 4664 740 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:810:40: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 810 | 0, inode->nr_copies, inode->copy_policy, | ^~ vdi.c:740:14: note: object ‘buf’ of size 4664 740 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:810:58: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 810 | 0, inode->nr_copies, inode->copy_policy, | ^~ vdi.c:740:14: note: object ‘buf’ of size 4664 740 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:815:43: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 815 | ret = do_vdi_create(vdiname, inode->vdi_size, vid, &new_vid, true, | ^~ vdi.c:740:14: note: object ‘buf’ of size 4664 740 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:816:34: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 816 | inode->nr_copies, inode->copy_policy, | ^~ vdi.c:740:14: note: object ‘buf’ of size 4664 740 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:816:52: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 816 | inode->nr_copies, inode->copy_policy, | ^~ vdi.c:740:14: note: object ‘buf’ of size 4664 740 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:817:34: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 817 | inode->store_policy, inode->block_size_shift); | ^~ vdi.c:740:14: note: object ‘buf’ of size 4664 740 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ vdi.c:817:55: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘char[4664]’ [-Warray-bounds=] 817 | inode->store_policy, inode->block_size_shift); | ^~ vdi.c:740:14: note: object ‘buf’ of size 4664 740 | char buf[SD_INODE_HEADER_SIZE]; | ^~~ /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -o dog farm/object_tree.o farm/sha1_file.o farm/snap.o farm/trunk.o farm/farm.o farm/slice.o dog.o common.o treeview.o vdi.o node.o cluster.o upgrade.o benchmark.o ../lib/libsd.a -lpthread -lrt libtool: link: gcc -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -o dog farm/object_tree.o farm/sha1_file.o farm/snap.o farm/trunk.o farm/farm.o farm/slice.o dog.o common.o treeview.o vdi.o node.o cluster.o upgrade.o benchmark.o ../lib/libsd.a -lpthread -lrt make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/dog' Making all in sheep make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/sheep' gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o sheep.o sheep.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o group.o group.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o request.o request.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o gateway.o gateway.c In file included from ../include/logger.h:20, from ../include/util.h:61, from sheep_priv.h:35, from request.c:14: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ In file included from ../include/logger.h:20, from ../include/util.h:61, from sheep_priv.h:35, from sheep.c:15: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ In file included from ../include/logger.h:20, from ../include/util.h:61, from sheep_priv.h:35, from group.c:12: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ cluster.h: In function ‘find_cdrv’: ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: cluster.h: In function ‘find_cdrv’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ cluster.h: In function ‘find_cdrv’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ sheep_priv.h: In function ‘find_store_driver’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ sheep_priv.h: In function ‘find_store_driver’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ In file included from ../include/logger.h:20, from ../include/util.h:61, from sheep_priv.h:35, from gateway.c:13: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: sheep_priv.h: In function ‘find_store_driver’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ request.c: In function ‘io_op_done’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ request.c:47:31: note: in expansion of macro ‘container_of’ 47 | struct request *req = container_of(work, struct request, work); | ^~~~~~~~~~~~ request.c: In function ‘gateway_op_done’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ request.c:97:31: note: in expansion of macro ‘container_of’ 97 | struct request *req = container_of(work, struct request, work); | ^~~~~~~~~~~~ request.c: In function ‘local_op_done’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ request.c:142:31: note: in expansion of macro ‘container_of’ 142 | struct request *req = container_of(work, struct request, work); | ^~~~~~~~~~~~ request.c: In function ‘wakeup_requests_on_epoch’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ request.c:216:9: note: in expansion of macro ‘list_for_each_entry’ 216 | list_for_each_entry(req, &pending_list, request_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ request.c:216:9: note: in expansion of macro ‘list_for_each_entry’ 216 | list_for_each_entry(req, &pending_list, request_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ request.c:216:9: note: in expansion of macro ‘list_for_each_entry’ 216 | list_for_each_entry(req, &pending_list, request_list) { | ^~~~~~~~~~~~~~~~~~~ group.c: In function ‘get_zones_nr_from’: request.c: In function ‘wakeup_requests_on_oid’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ request.c:253:9: note: in expansion of macro ‘list_for_each_entry’ 253 | list_for_each_entry(req, &pending_list, request_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ group.c:43:9: note: in expansion of macro ‘rb_for_each_entry’ 43 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ request.c:253:9: note: in expansion of macro ‘list_for_each_entry’ 253 | list_for_each_entry(req, &pending_list, request_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ request.c:253:9: note: in expansion of macro ‘list_for_each_entry’ 253 | list_for_each_entry(req, &pending_list, request_list) { | ^~~~~~~~~~~~~~~~~~~ group.c: In function ‘put_vnode_info’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:9: note: in expansion of macro ‘rb_for_each_entry’ 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ group.c:99:25: note: in expansion of macro ‘rb_destroy’ 99 | rb_destroy(&vnode_info->vroot, struct sd_vnode, rb); | ^~~~~~~~~~ request.c: In function ‘wakeup_all_requests’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ request.c:269:9: note: in expansion of macro ‘list_for_each_entry’ 269 | list_for_each_entry(req, &pending_list, request_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:9: note: in expansion of macro ‘rb_for_each_entry’ 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ group.c:100:25: note: in expansion of macro ‘rb_destroy’ 100 | rb_destroy(&vnode_info->nroot, struct sd_node, rb); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ request.c:269:9: note: in expansion of macro ‘list_for_each_entry’ 269 | list_for_each_entry(req, &pending_list, request_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ request.c:269:9: note: in expansion of macro ‘list_for_each_entry’ 269 | list_for_each_entry(req, &pending_list, request_list) { | ^~~~~~~~~~~~~~~~~~~ group.c: In function ‘recalculate_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ group.c:113:9: note: in expansion of macro ‘rb_for_each_entry’ 113 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ group.c:125:9: note: in expansion of macro ‘rb_for_each_entry’ 125 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ group.c: In function ‘alloc_vnode_info’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ group.c:142:9: note: in expansion of macro ‘rb_for_each_entry’ 142 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ group.c:145:30: note: in expansion of macro ‘rb_insert’ 145 | if (unlikely(rb_insert(&vnode_info->nroot, new, rb, node_cmp))) | ^~~~~~~~~ group.c: In function ‘get_vnode_info_epoch’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ group.c:177:17: note: in expansion of macro ‘rb_insert’ 177 | rb_insert(&nroot, &nodes[i], rb, node_cmp); | ^~~~~~~~~ group.c: In function ‘cluster_op_done’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ group.c:245:31: note: in expansion of macro ‘container_of’ 245 | struct request *req = container_of(work, struct request, work); | ^~~~~~~~~~~~ request.c: In function ‘local_req_async_work’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ request.c:609:34: note: in expansion of macro ‘container_of’ 609 | struct areq_work *areq = container_of(work, struct areq_work, work); | ^~~~~~~~~~~~ request.c: In function ‘local_req_async_main’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ request.c:616:34: note: in expansion of macro ‘container_of’ 616 | struct areq_work *areq = container_of(work, struct areq_work, work); | ^~~~~~~~~~~~ group.c: In function ‘sd_block_handler’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:9: note: in expansion of macro ‘list_entry’ 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ group.c:299:15: note: in expansion of macro ‘list_first_entry’ 299 | req = list_first_entry(main_thread_get(pending_block_list), | ^~~~~~~~~~~~~~~~ sheep.c: In function ‘main’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ sheep.c:792:33: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 792 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ sheep.c:792:33: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 792 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ group.c: In function ‘epoch_log_read_remote’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ group.c:364:9: note: in expansion of macro ‘rb_for_each_entry’ 364 | rb_for_each_entry(node, &vinfo->nroot, rb) { | ^~~~~~~~~~~~~~~~~ request.c: In function ‘rx_work’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ sheep.c:792:33: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 792 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ request.c:744:34: note: in expansion of macro ‘container_of’ 744 | struct client_info *ci = container_of(work, struct client_info, | ^~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ request.c: In function ‘rx_main’: group.c: In function ‘enough_nodes_gathered’: ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ request.c:783:34: note: in expansion of macro ‘container_of’ 783 | struct client_info *ci = container_of(work, struct client_info, | ^~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ group.c:428:21: note: in expansion of macro ‘rb_search’ 428 | n = rb_search(nroot, key, rb, node_cmp); | ^~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ request.c: In function ‘tx_work’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ request.c:823:34: note: in expansion of macro ‘container_of’ 823 | struct client_info *ci = container_of(work, struct client_info, | ^~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ request.c: In function ‘tx_main’: ../include/sheep.h: In function ‘nodes_to_buffer’: group.c: In function ‘do_get_vdis’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ request.c:853:34: note: in expansion of macro ‘container_of’ 853 | struct client_info *ci = container_of(work, struct client_info, | ^~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ group.c:528:17: note: in expansion of macro ‘container_of’ 528 | container_of(work, struct get_vdis_work, work); | ^~~~~~~~~~~~ request.c: In function ‘clear_client_info’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ group.c:552:9: note: in expansion of macro ‘rb_for_each_entry’ 552 | rb_for_each_entry(n, &w->nroot, rb) { | ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ request.c:904:9: note: in expansion of macro ‘list_for_each_entry’ 904 | list_for_each_entry(req, &ci->done_reqs, request_list) { | ^~~~~~~~~~~~~~~~~~~ group.c: In function ‘get_vdis_done’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ request.c:904:9: note: in expansion of macro ‘list_for_each_entry’ 904 | list_for_each_entry(req, &ci->done_reqs, request_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ group.c:584:17: note: in expansion of macro ‘container_of’ 584 | container_of(work, struct get_vdis_work, work); | ^~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ request.c:904:9: note: in expansion of macro ‘list_for_each_entry’ 904 | list_for_each_entry(req, &ci->done_reqs, request_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:9: note: in expansion of macro ‘rb_for_each_entry’ 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ group.c:591:9: note: in expansion of macro ‘rb_destroy’ 591 | rb_destroy(&w->nroot, struct sd_node, rb); | ^~~~~~~~~~ group.c: In function ‘alloc_old_vnode_info’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ group.c:638:21: note: in expansion of macro ‘rb_insert’ 638 | if (rb_insert(&old_root, new, rb, node_cmp)) | ^~~~~~~~~ request.c: In function ‘client_handler’: cluster.h: In function ‘find_cdrv’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:9: note: in expansion of macro ‘list_entry’ 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ request.c:1003:30: note: in expansion of macro ‘list_first_entry’ 1003 | ci->tx_req = list_first_entry(&ci->done_reqs, struct request, | ^~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:9: note: in expansion of macro ‘rb_for_each_entry’ 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ group.c:643:9: note: in expansion of macro ‘rb_destroy’ 643 | rb_destroy(&old_root, struct sd_node, rb); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ request.c: In function ‘unregister_listening_fds’: group.c: In function ‘get_vdis’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ request.c:1085:9: note: in expansion of macro ‘list_for_each_entry’ 1085 | list_for_each_entry(fd, &listening_fd_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:194:9: note: in expansion of macro ‘rb_for_each_entry’ 194 | rb_for_each_entry(__src, root, member) { \ | ^~~~~~~~~~~~~~~~~ group.c:683:9: note: in expansion of macro ‘rb_copy’ 683 | rb_copy(nroot, struct sd_node, rb, &w->nroot, node_cmp); | ^~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ request.c:1085:9: note: in expansion of macro ‘list_for_each_entry’ 1085 | list_for_each_entry(fd, &listening_fd_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/rbtree.h:197:17: note: in expansion of macro ‘rb_insert’ 197 | rb_insert(outroot, __dst, member, compar); \ | ^~~~~~~~~ group.c:683:9: note: in expansion of macro ‘rb_copy’ 683 | rb_copy(nroot, struct sd_node, rb, &w->nroot, node_cmp); | ^~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ request.c:1085:9: note: in expansion of macro ‘list_for_each_entry’ 1085 | list_for_each_entry(fd, &listening_fd_list, list) { | ^~~~~~~~~~~~~~~~~~~ group.c: In function ‘cinfo_collection_work’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ group.c:736:17: note: in expansion of macro ‘container_of’ 736 | container_of(work, struct cinfo_collection_work, work); | ^~~~~~~~~~~~ request.c: In function ‘local_req_handler’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ request.c:1133:9: note: in expansion of macro ‘list_for_each_entry’ 1133 | list_for_each_entry(req, &pending_list, request_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ group.c:745:9: note: in expansion of macro ‘rb_for_each_entry’ 745 | rb_for_each_entry(n, &w->members->nroot, rb) { | ^~~~~~~~~~~~~~~~~ group.c: In function ‘free_cinfo’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ group.c:789:9: note: in expansion of macro ‘rb_for_each_entry’ 789 | rb_for_each_entry(n, &w->members->nroot, rb) { | ^~~~~~~~~~~~~~~~~ group.c: In function ‘cinfo_collection_done’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ group.c:809:17: note: in expansion of macro ‘container_of’ 809 | container_of(work, struct cinfo_collection_work, work); | ^~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ request.c:1133:9: note: in expansion of macro ‘list_for_each_entry’ 1133 | list_for_each_entry(req, &pending_list, request_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ request.c:1133:9: note: in expansion of macro ‘list_for_each_entry’ 1133 | list_for_each_entry(req, &pending_list, request_list) { | ^~~~~~~~~~~~~~~~~~~ group.c: In function ‘membership_changed’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ group.c:904:21: note: in expansion of macro ‘rb_search’ 904 | n = rb_search(nroot, key, rb, node_cmp); | ^~~~~~~~~ sheep_priv.h: In function ‘find_store_driver’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ group.c: In function ‘sd_notify_handler’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:9: note: in expansion of macro ‘list_entry’ 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ group.c:1018:31: note: in expansion of macro ‘list_first_entry’ 1018 | req = list_first_entry( | ^~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:9: note: in expansion of macro ‘list_entry’ 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ group.c:1022:31: note: in expansion of macro ‘list_first_entry’ 1022 | req = list_first_entry( | ^~~~~~~~~~~~~~~~ group.c: In function ‘requeue_cluster_request’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ group.c:1103:9: note: in expansion of macro ‘list_for_each_entry’ 1103 | list_for_each_entry(req, main_thread_get(pending_notify_list), | ^~~~~~~~~~~~~~~~~~~ gateway.c: In function ‘async_update_obj_refcnt_work’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ gateway.c:760:17: note: in expansion of macro ‘container_of’ 760 | container_of(work, struct update_obj_refcnt_work, work); | ^~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ group.c:1103:9: note: in expansion of macro ‘list_for_each_entry’ 1103 | list_for_each_entry(req, main_thread_get(pending_notify_list), | ^~~~~~~~~~~~~~~~~~~ gateway.c: In function ‘async_update_obj_refcnt_done’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ gateway.c:770:17: note: in expansion of macro ‘container_of’ 770 | container_of(work, struct update_obj_refcnt_work, work); | ^~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ group.c:1103:9: note: in expansion of macro ‘list_for_each_entry’ 1103 | list_for_each_entry(req, main_thread_get(pending_notify_list), | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ group.c:1119:9: note: in expansion of macro ‘list_for_each_entry’ 1119 | list_for_each_entry(req, main_thread_get(pending_block_list), | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ group.c:1119:9: note: in expansion of macro ‘list_for_each_entry’ 1119 | list_for_each_entry(req, main_thread_get(pending_block_list), | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ group.c:1119:9: note: in expansion of macro ‘list_for_each_entry’ 1119 | list_for_each_entry(req, main_thread_get(pending_block_list), | ^~~~~~~~~~~~~~~~~~~ group.c: In function ‘sd_accept_handler’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ group.c:1238:9: note: in expansion of macro ‘rb_for_each_entry’ 1238 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ group.c: In function ‘is_gateway_only_cluster’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ group.c:1265:9: note: in expansion of macro ‘rb_for_each_entry’ 1265 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ group.c: In function ‘sd_leave_handler’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ group.c:1281:9: note: in expansion of macro ‘rb_for_each_entry’ 1281 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ group.c: In function ‘update_node_info’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ group.c:1321:29: note: in expansion of macro ‘rb_search’ 1321 | struct sd_node *n = rb_search(&cur_vinfo->nroot, node, rb, node_cmp); | ^~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o vdi.o vdi.c In file included from ../include/logger.h:20, from ../include/util.h:61, from sheep_priv.h:35, from vdi.c:12: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ cluster.h: In function ‘find_cdrv’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ sheep_priv.h: In function ‘find_store_driver’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ vdi.c: In function ‘lookup_vdi_family_member’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ vdi.c:64:9: note: in expansion of macro ‘list_for_each_entry’ 64 | list_for_each_entry(vdi, &family_member->child_list_head, | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ vdi.c:64:9: note: in expansion of macro ‘list_for_each_entry’ 64 | list_for_each_entry(vdi, &family_member->child_list_head, | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ vdi.c:64:9: note: in expansion of macro ‘list_for_each_entry’ 64 | list_for_each_entry(vdi, &family_member->child_list_head, | ^~~~~~~~~~~~~~~~~~~ vdi.c: In function ‘update_vdi_family’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ vdi.c:110:9: note: in expansion of macro ‘list_for_each_entry’ 110 | list_for_each_entry(vdi, &vdi_family_roots, roots_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ vdi.c:110:9: note: in expansion of macro ‘list_for_each_entry’ 110 | list_for_each_entry(vdi, &vdi_family_roots, roots_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ vdi.c:110:9: note: in expansion of macro ‘list_for_each_entry’ 110 | list_for_each_entry(vdi, &vdi_family_roots, roots_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ vdi.c:137:9: note: in expansion of macro ‘list_for_each_entry’ 137 | list_for_each_entry(vdi, &vdi_family_temporal_orphans, | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ vdi.c:137:9: note: in expansion of macro ‘list_for_each_entry’ 137 | list_for_each_entry(vdi, &vdi_family_temporal_orphans, | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ vdi.c:137:9: note: in expansion of macro ‘list_for_each_entry’ 137 | list_for_each_entry(vdi, &vdi_family_temporal_orphans, | ^~~~~~~~~~~~~~~~~~~ vdi.c: In function ‘is_all_members_deleted’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ vdi.c:170:9: note: in expansion of macro ‘list_for_each_entry’ 170 | list_for_each_entry(child, &member->child_list_head, child_list_node) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ vdi.c:170:9: note: in expansion of macro ‘list_for_each_entry’ 170 | list_for_each_entry(child, &member->child_list_head, child_list_node) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ vdi.c:170:9: note: in expansion of macro ‘list_for_each_entry’ 170 | list_for_each_entry(child, &member->child_list_head, child_list_node) { | ^~~~~~~~~~~~~~~~~~~ vdi.c: In function ‘vdi_state_search’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ vdi.c:209:16: note: in expansion of macro ‘rb_search’ 209 | return rb_search(root, &key, node, vdi_state_cmp); | ^~~~~~~~~ vdi.c: In function ‘vdi_state_insert’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ vdi.c:215:16: note: in expansion of macro ‘rb_insert’ 215 | return rb_insert(root, new, node, vdi_state_cmp); | ^~~~~~~~~ vdi.c: In function ‘fill_vdi_state_list’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ vdi.c:418:9: note: in expansion of macro ‘rb_for_each_entry’ 418 | rb_for_each_entry(entry, &vdi_state_root, node) { | ^~~~~~~~~~~~~~~~~ vdi.c: In function ‘fill_vdi_state_list_with_alloc’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ vdi.c:462:9: note: in expansion of macro ‘rb_for_each_entry’ 462 | rb_for_each_entry(entry, &vdi_state_root, node) { | ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ vdi.c:467:9: note: in expansion of macro ‘rb_for_each_entry’ 467 | rb_for_each_entry(entry, &vdi_state_root, node) { | ^~~~~~~~~~~~~~~~~ vdi.c: In function ‘play_logged_vdi_ops’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ vdi.c:849:9: note: in expansion of macro ‘list_for_each_entry’ 849 | list_for_each_entry(op, &logged_vdi_ops, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ vdi.c:849:9: note: in expansion of macro ‘list_for_each_entry’ 849 | list_for_each_entry(op, &logged_vdi_ops, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ vdi.c:849:9: note: in expansion of macro ‘list_for_each_entry’ 849 | list_for_each_entry(op, &logged_vdi_ops, list) { | ^~~~~~~~~~~~~~~~~~~ vdi.c: In function ‘remove_node_from_participants’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ vdi.c:1066:9: note: in expansion of macro ‘rb_for_each_entry’ 1066 | rb_for_each_entry(entry, &vdi_state_root, node) { | ^~~~~~~~~~~~~~~~~ vdi.c: In function ‘delete_vdi_work’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ vdi.c:1760:17: note: in expansion of macro ‘container_of’ 1760 | container_of(work, struct deletion_work, work); | ^~~~~~~~~~~~ vdi.c: In function ‘delete_vdi_done’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ vdi.c:1826:17: note: in expansion of macro ‘container_of’ 1826 | container_of(work, struct deletion_work, work); | ^~~~~~~~~~~~ vdi.c: In function ‘clean_family’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ vdi.c:1990:9: note: in expansion of macro ‘list_for_each_entry’ 1990 | list_for_each_entry(child, &member->child_list_head, child_list_node) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ vdi.c:1990:9: note: in expansion of macro ‘list_for_each_entry’ 1990 | list_for_each_entry(child, &member->child_list_head, child_list_node) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ vdi.c:1990:9: note: in expansion of macro ‘list_for_each_entry’ 1990 | list_for_each_entry(child, &member->child_list_head, child_list_node) { | ^~~~~~~~~~~~~~~~~~~ vdi.c: In function ‘clean_vdi_state’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:9: note: in expansion of macro ‘rb_for_each_entry’ 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ vdi.c:2006:9: note: in expansion of macro ‘rb_destroy’ 2006 | rb_destroy(&vdi_state_root, struct vdi_state_entry, node); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ vdi.c:2012:9: note: in expansion of macro ‘list_for_each_entry’ 2012 | list_for_each_entry(member, &vdi_family_roots, roots_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ vdi.c:2012:9: note: in expansion of macro ‘list_for_each_entry’ 2012 | list_for_each_entry(member, &vdi_family_roots, roots_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ vdi.c:2012:9: note: in expansion of macro ‘list_for_each_entry’ 2012 | list_for_each_entry(member, &vdi_family_roots, roots_list) { | ^~~~~~~~~~~~~~~~~~~ vdi.c: In function ‘create_vdi_state_checkpoint’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ vdi.c:2118:9: note: in expansion of macro ‘list_for_each_entry’ 2118 | list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ vdi.c:2118:9: note: in expansion of macro ‘list_for_each_entry’ 2118 | list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ vdi.c:2118:9: note: in expansion of macro ‘list_for_each_entry’ 2118 | list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { | ^~~~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o journal.o journal.c vdi.c: In function ‘get_vdi_state_checkpoint’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ vdi.c:2142:9: note: in expansion of macro ‘list_for_each_entry’ 2142 | list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ vdi.c:2142:9: note: in expansion of macro ‘list_for_each_entry’ 2142 | list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ vdi.c:2142:9: note: in expansion of macro ‘list_for_each_entry’ 2142 | list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { | ^~~~~~~~~~~~~~~~~~~ vdi.c: In function ‘free_vdi_state_checkpoint’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ vdi.c:2170:9: note: in expansion of macro ‘list_for_each_entry’ 2170 | list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ vdi.c:2170:9: note: in expansion of macro ‘list_for_each_entry’ 2170 | list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ vdi.c:2170:9: note: in expansion of macro ‘list_for_each_entry’ 2170 | list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { | ^~~~~~~~~~~~~~~~~~~ vdi.c: In function ‘do_vid_gc’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ vdi.c:2214:9: note: in expansion of macro ‘list_for_each_entry’ 2214 | list_for_each_entry(child, &member->child_list_head, child_list_node) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ vdi.c:2214:9: note: in expansion of macro ‘list_for_each_entry’ 2214 | list_for_each_entry(child, &member->child_list_head, child_list_node) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ vdi.c:2214:9: note: in expansion of macro ‘list_for_each_entry’ 2214 | list_for_each_entry(child, &member->child_list_head, child_list_node) { | ^~~~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o ops.o ops.c In file included from ../include/logger.h:20, from ../include/util.h:61, from sheep_priv.h:35, from journal.c:14: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ cluster.h: In function ‘find_cdrv’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ sheep_priv.h: In function ‘find_store_driver’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ journal.c: In function ‘journal_entry_full_write’: journal.c:129:30: warning: cast increases required alignment of target type [-Wcast-align] 129 | uint32_t marker = *(((uint32_t *)end) - 1); | ^ vdi.c: In function ‘fill_vdi_info_range’: vdi.c:1420:53: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘unsigned char[568]’ [-Warray-bounds=] 1420 | iocb->snapid, inode->snap_id); | ^~ ../include/logger.h:88:66: note: in definition of macro ‘sd_debug’ 88 | log_write(SDOG_DEBUG, __func__, __LINE__, fmt, ##args); \ | ^~~~ vdi.c:1401:17: note: object of size 568 allocated by ‘malloc’ 1401 | inode = malloc(offsetof(struct sd_inode, btree_counter)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vdi.c:1435:53: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘unsigned char[568]’ [-Warray-bounds=] 1435 | info->snapid = inode->snap_id + 1; | ^~ vdi.c:1401:17: note: object of size 568 allocated by ‘malloc’ 1401 | inode = malloc(offsetof(struct sd_inode, btree_counter)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from sheep_priv.h:33: In function ‘vdi_is_snapshot’, inlined from ‘fill_vdi_info_range’ at vdi.c:1436:9: ../include/sheepdog_proto.h:593:23: warning: array subscript ‘const struct sd_inode[0]’ is partly outside array bounds of ‘unsigned char[568]’ [-Warray-bounds=] 593 | return !!inode->snap_ctime; | ~~~~~^~~~~~~~~~~~ vdi.c: In function ‘fill_vdi_info_range’: vdi.c:1401:17: note: object of size 568 allocated by ‘malloc’ 1401 | inode = malloc(offsetof(struct sd_inode, btree_counter)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vdi.c:1438:58: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘unsigned char[568]’ [-Warray-bounds=] 1438 | info->vid = inode->vdi_id; | ^~ vdi.c:1401:17: note: object of size 568 allocated by ‘malloc’ 1401 | inode = malloc(offsetof(struct sd_inode, btree_counter)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘vdi_is_snapshot’, inlined from ‘fill_vdi_info_range’ at vdi.c:1423:10: ../include/sheepdog_proto.h:593:23: warning: array subscript ‘const struct sd_inode[0]’ is partly outside array bounds of ‘unsigned char[568]’ [-Warray-bounds=] 593 | return !!inode->snap_ctime; | ~~~~~^~~~~~~~~~~~ vdi.c: In function ‘fill_vdi_info_range’: vdi.c:1401:17: note: object of size 568 allocated by ‘malloc’ 1401 | inode = malloc(offsetof(struct sd_inode, btree_counter)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘vdi_tag_match’, inlined from ‘fill_vdi_info_range’ at vdi.c:1428:10: vdi.c:1384:23: warning: array subscript ‘const struct sd_inode[0]’ is partly outside array bounds of ‘unsigned char[568]’ [-Warray-bounds=] 1384 | if (inode->tag[0] && !strncmp(inode->tag, tag, sizeof(inode->tag))) | ~~~~~~~~~~^~~ vdi.c: In function ‘fill_vdi_info_range’: vdi.c:1401:17: note: object of size 568 allocated by ‘malloc’ 1401 | inode = malloc(offsetof(struct sd_inode, btree_counter)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘vdi_tag_match’, inlined from ‘fill_vdi_info_range’ at vdi.c:1428:10: vdi.c:1386:34: warning: array subscript ‘const struct sd_inode[0]’ is partly outside array bounds of ‘unsigned char[568]’ [-Warray-bounds=] 1386 | if (iocb->snapid == inode->snap_id) | ~~~~~^~~~~~~~~ vdi.c: In function ‘fill_vdi_info_range’: vdi.c:1401:17: note: object of size 568 allocated by ‘malloc’ 1401 | inode = malloc(offsetof(struct sd_inode, btree_counter)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vdi.c:1425:58: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘unsigned char[568]’ [-Warray-bounds=] 1425 | info->vid = inode->vdi_id; | ^~ vdi.c:1401:17: note: object of size 568 allocated by ‘malloc’ 1401 | inode = malloc(offsetof(struct sd_inode, btree_counter)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vdi.c:1442:50: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘unsigned char[568]’ [-Warray-bounds=] 1442 | info->create_time = inode->create_time; | ^~ vdi.c:1401:17: note: object of size 568 allocated by ‘malloc’ 1401 | inode = malloc(offsetof(struct sd_inode, btree_counter)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vdi.c:1443:42: warning: array subscript ‘struct sd_inode[0]’ is partly outside array bounds of ‘unsigned char[568]’ [-Warray-bounds=] 1443 | info->vid = inode->vdi_id; | ^~ vdi.c:1401:17: note: object of size 568 allocated by ‘malloc’ 1401 | inode = malloc(offsetof(struct sd_inode, btree_counter)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../include/logger.h:20, from ../include/util.h:61, from sheep_priv.h:35, from ops.c:12: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ cluster.h: In function ‘find_cdrv’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ sheep_priv.h: In function ‘find_store_driver’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ops.c: In function ‘get_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ops.c:256:9: note: in expansion of macro ‘rb_for_each_entry’ 256 | rb_for_each_entry(node, &vinfo->nroot, rb) { | ^~~~~~~~~~~~~~~~~ ops.c: In function ‘local_get_store_list’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ ops.c:424:9: note: in expansion of macro ‘list_for_each_entry’ 424 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ ops.c:424:9: note: in expansion of macro ‘list_for_each_entry’ 424 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ ops.c:424:9: note: in expansion of macro ‘list_for_each_entry’ 424 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ops.c: In function ‘local_stat_cluster’: ops.c:492:24: warning: cast increases required alignment of target type [-Wcast-align] 492 | elog = (struct epoch_log *)next_elog; | ^ ops.c: In function ‘cluster_force_recover_main’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ops.c:637:17: note: in expansion of macro ‘rb_insert’ 637 | rb_insert(&nroot, &nodes[i], rb, node_cmp); | ^~~~~~~~~ ops.c: In function ‘cluster_recovery_completion’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ops.c:739:30: note: in expansion of macro ‘rb_search’ 739 | if (!rb_search(&vnode_info->nroot, &recovereds[i], | ^~~~~~~~~ ops.c: In function ‘local_oids_exist’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ops.c:1076:29: note: in expansion of macro ‘container_of’ 1076 | struct request *r = container_of(req, struct request, rq); | ^~~~~~~~~~~~ ops.c: In function ‘do_process_work’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ops.c:1988:31: note: in expansion of macro ‘container_of’ 1988 | struct request *req = container_of(work, struct request, work); | ^~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o recovery.o recovery.c In file included from ../include/logger.h:20, from ../include/util.h:61, from sheep_priv.h:35, from recovery.c:13: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ cluster.h: In function ‘find_cdrv’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ sheep_priv.h: In function ‘find_store_driver’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ recovery.c: In function ‘rollback_vnode_info’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ recovery.c:139:33: note: in expansion of macro ‘rb_insert’ 139 | rb_insert(&nroot, &nodes[i], rb, node_cmp); | ^~~~~~~~~ recovery.c: In function ‘invalid_node’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ recovery.c:155:13: note: in expansion of macro ‘rb_search’ 155 | if (rb_search(&info->nroot, n, rb, node_cmp)) | ^~~~~~~~~ recovery.c: In function ‘search_erasure_object’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ recovery.c:171:9: note: in expansion of macro ‘rb_for_each_entry’ 171 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ recovery.c: In function ‘recover_object_wildcard’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ recovery.c:399:9: note: in expansion of macro ‘rb_for_each_entry’ 399 | rb_for_each_entry(n, &old->nroot, rb) { | ^~~~~~~~~~~~~~~~~ recovery.c: In function ‘recover_object_work’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ recovery.c:610:36: note: in expansion of macro ‘container_of’ 610 | struct recovery_work *rw = container_of(work, struct recovery_work, | ^~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ recovery.c:612:41: note: in expansion of macro ‘container_of’ 612 | struct recovery_obj_work *row = container_of(rw, | ^~~~~~~~~~~~ recovery.c: In function ‘direct_recover_object_main’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ recovery.c:649:36: note: in expansion of macro ‘container_of’ 649 | struct recovery_work *rw = container_of(work, struct recovery_work, | ^~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ recovery.c:651:41: note: in expansion of macro ‘container_of’ 651 | struct recovery_obj_work *row = container_of(rw, | ^~~~~~~~~~~~ recovery.c: In function ‘notify_recovery_completion_work’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ recovery.c:821:36: note: in expansion of macro ‘container_of’ 821 | struct recovery_work *rw = container_of(work, struct recovery_work, | ^~~~~~~~~~~~ recovery.c: In function ‘notify_recovery_completion_main’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ recovery.c:838:36: note: in expansion of macro ‘container_of’ 838 | struct recovery_work *rw = container_of(work, struct recovery_work, | ^~~~~~~~~~~~ recovery.c: In function ‘recover_object_main’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ recovery.c:978:36: note: in expansion of macro ‘container_of’ 978 | struct recovery_work *rw = container_of(work, struct recovery_work, | ^~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ recovery.c:980:41: note: in expansion of macro ‘container_of’ 980 | struct recovery_obj_work *row = container_of(rw, | ^~~~~~~~~~~~ recovery.c: In function ‘finish_object_list’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ recovery.c:1030:36: note: in expansion of macro ‘container_of’ 1030 | struct recovery_work *rw = container_of(work, struct recovery_work, | ^~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ recovery.c:1032:42: note: in expansion of macro ‘container_of’ 1032 | struct recovery_list_work *rlw = container_of(rw, | ^~~~~~~~~~~~ recovery.c: In function ‘check_diskfull_possibility’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ recovery.c:1213:29: note: in expansion of macro ‘rb_search’ 1213 | if (rb_search(&seen_objects, key, node, | ^~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ recovery.c:1218:25: note: in expansion of macro ‘rb_insert’ 1218 | rb_insert(&seen_objects, key, node, seen_object_cmp); | ^~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:9: note: in expansion of macro ‘rb_for_each_entry’ 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ recovery.c:1242:9: note: in expansion of macro ‘rb_destroy’ 1242 | rb_destroy(&seen_objects, struct seen_object_entry, node); | ^~~~~~~~~~ recovery.c: In function ‘prepare_object_list’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ recovery.c:1269:36: note: in expansion of macro ‘container_of’ 1269 | struct recovery_work *rw = container_of(work, struct recovery_work, | ^~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ recovery.c:1271:42: note: in expansion of macro ‘container_of’ 1271 | struct recovery_list_work *rlw = container_of(rw, | ^~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o object_list_cache.o object_list_cache.c In file included from ../include/logger.h:20, from ../include/util.h:61, from sheep_priv.h:35, from object_list_cache.c:14: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ cluster.h: In function ‘find_cdrv’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ sheep_priv.h: In function ‘find_store_driver’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ object_list_cache.c: In function ‘objlist_cache_rb_insert’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ object_list_cache.c:50:16: note: in expansion of macro ‘rb_insert’ 50 | return rb_insert(root, new, node, objlist_cache_cmp); | ^~~~~~~~~ object_list_cache.c: In function ‘objlist_cache_rb_remove’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ object_list_cache.c:57:17: note: in expansion of macro ‘rb_search’ 57 | entry = rb_search(root, &key, node, objlist_cache_cmp); | ^~~~~~~~~ object_list_cache.c: In function ‘get_obj_list’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ object_list_cache.c:127:9: note: in expansion of macro ‘rb_for_each_entry’ 127 | rb_for_each_entry(entry, &obj_list_cache.root, node) { | ^~~~~~~~~~~~~~~~~ object_list_cache.c: In function ‘objlist_deletion_work’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ object_list_cache.c:149:17: note: in expansion of macro ‘container_of’ 149 | container_of(work, struct objlist_deletion_work, work); | ^~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ object_list_cache.c:167:9: note: in expansion of macro ‘rb_for_each_entry’ 167 | rb_for_each_entry(entry, &obj_list_cache.root, node) { | ^~~~~~~~~~~~~~~~~ object_list_cache.c: In function ‘objlist_deletion_done’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ object_list_cache.c:186:17: note: in expansion of macro ‘container_of’ 186 | container_of(work, struct objlist_deletion_work, work); | ^~~~~~~~~~~~ object_list_cache.c: In function ‘objlist_cache_format’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:9: note: in expansion of macro ‘rb_for_each_entry’ 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ object_list_cache.c:214:9: note: in expansion of macro ‘rb_destroy’ 214 | rb_destroy(&obj_list_cache.root, struct objlist_cache_entry, node); | ^~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o config.o config.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o migrate.o migrate.c In file included from ../include/logger.h:20, from ../include/util.h:61, from sheep_priv.h:35, from config.c:12: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ cluster.h: In function ‘find_cdrv’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ sheep_priv.h: In function ‘find_store_driver’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ In file included from ../include/logger.h:20, from ../include/util.h:61, from sheep_priv.h:35, from migrate.c:12: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o cluster/corosync.o cluster/corosync.c ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ cluster.h: In function ‘find_cdrv’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ sheep_priv.h: In function ‘find_store_driver’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ migrate.c: In function ‘update_epoch_from_v0_to_v1’: migrate.c:246:13: warning: cast increases required alignment of target type [-Wcast-align] 246 | t = (time_t *)&nodes_v0[nr_nodes]; | ^ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from ./cluster.h:23, from cluster/corosync.c:17: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ ./cluster.h: In function ‘find_cdrv’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ./sheep_priv.h: In function ‘find_store_driver’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ ./sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ ./sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ ./sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ cluster/corosync.c: In function ‘corosync_get_local_addr’: cluster/corosync.c:131:39: warning: cast increases required alignment of target type [-Wcast-align] 131 | struct sockaddr_storage *ss = (struct sockaddr_storage *)caddr.address; | ^ cluster/corosync.c:132:36: warning: cast increases required alignment of target type [-Wcast-align] 132 | struct sockaddr_in *sin4 = (struct sockaddr_in *)caddr.address; | ^ cluster/corosync.c:133:37: warning: cast increases required alignment of target type [-Wcast-align] 133 | struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)caddr.address; | ^ cluster/corosync.c: In function ‘find_block_event’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ cluster/corosync.c:209:9: note: in expansion of macro ‘list_for_each_entry’ 209 | list_for_each_entry(cevent, &corosync_block_event_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ cluster/corosync.c:209:9: note: in expansion of macro ‘list_for_each_entry’ 209 | list_for_each_entry(cevent, &corosync_block_event_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ cluster/corosync.c:209:9: note: in expansion of macro ‘list_for_each_entry’ 209 | list_for_each_entry(cevent, &corosync_block_event_list, list) { | ^~~~~~~~~~~~~~~~~~~ cluster/corosync.c: In function ‘find_nonblock_event’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ cluster/corosync.c:223:9: note: in expansion of macro ‘list_for_each_entry’ 223 | list_for_each_entry(cevent, &corosync_nonblock_event_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ cluster/corosync.c:223:9: note: in expansion of macro ‘list_for_each_entry’ 223 | list_for_each_entry(cevent, &corosync_nonblock_event_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ cluster/corosync.c:223:9: note: in expansion of macro ‘list_for_each_entry’ 223 | list_for_each_entry(cevent, &corosync_nonblock_event_list, list) { | ^~~~~~~~~~~~~~~~~~~ cluster/corosync.c: In function ‘build_node_list’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ cluster/corosync.c:245:17: note: in expansion of macro ‘rb_insert’ 245 | rb_insert(nroot, &nodes[i].node, rb, node_cmp); | ^~~~~~~~~ cluster/corosync.c: In function ‘__corosync_dispatch’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:9: note: in expansion of macro ‘list_entry’ 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ cluster/corosync.c:363:34: note: in expansion of macro ‘list_first_entry’ 363 | cevent = list_first_entry(&corosync_nonblock_event_list, | ^~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:9: note: in expansion of macro ‘list_entry’ 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ cluster/corosync.c:366:34: note: in expansion of macro ‘list_first_entry’ 366 | cevent = list_first_entry(&corosync_block_event_list, | ^~~~~~~~~~~~~~~~ Built sheep gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o cluster/local.o cluster/local.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o store/common.o store/common.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o store/md.o store/md.c cluster/corosync.c: In function ‘corosync_get_local_addr’: cluster/corosync.c:148:15: warning: array subscript ‘struct sockaddr_storage[0]’ is partly outside array bounds of ‘corosync_cfg_node_address_t[1]’ [-Warray-bounds=] 148 | if (ss->ss_family == AF_INET6) { | ^~ cluster/corosync.c:130:37: note: at offset 4 into object ‘caddr’ of size 32 130 | corosync_cfg_node_address_t caddr; | ^~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from ./cluster.h:23, from cluster/local.c:21: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ ./cluster.h: In function ‘find_cdrv’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ cluster/local.c: In function ‘node_insert’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ cluster/local.c:121:13: note: in expansion of macro ‘rb_insert’ 121 | if (rb_insert(root, new, rb, node_cmp)) | ^~~~~~~~~ cluster/local.c: In function ‘lock_tree_lookup’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ cluster/local.c:663:16: note: in expansion of macro ‘rb_search’ 663 | return rb_search(&lock_tree_root, &entry, rb, lock_cmp); | ^~~~~~~~~ cluster/local.c: In function ‘lock_tree_add’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ cluster/local.c:668:16: note: in expansion of macro ‘rb_insert’ 668 | return rb_insert(&lock_tree_root, new, rb, lock_cmp); | ^~~~~~~~~ In file included from ../include/logger.h:20, from ../include/util.h:61, from ./sheep_priv.h:35, from store/common.c:15: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ ./cluster.h: In function ‘find_cdrv’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ./sheep_priv.h: In function ‘find_store_driver’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ ./sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ ./sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ ./sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ In file included from ../include/logger.h:20, from ../include/util.h:61, from ./sheep_priv.h:35, from store/md.c:14: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ ./cluster.h: In function ‘find_cdrv’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ./sheep_priv.h: In function ‘find_store_driver’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ ./sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ ./sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ ./sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ store/md.c: In function ‘vdisk_insert’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ store/md.c:54:16: note: in expansion of macro ‘rb_insert’ 54 | return rb_insert(&md.vroot, new, rb, vdisk_cmp); | ^~~~~~~~~ store/md.c: In function ‘hval_to_vdisk’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ store/md.c:62:16: note: in expansion of macro ‘rb_nsearch’ 62 | return rb_nsearch(&md.vroot, &dummy, rb, vdisk_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ store/md.c:62:16: note: in expansion of macro ‘rb_nsearch’ 62 | return rb_nsearch(&md.vroot, &dummy, rb, vdisk_cmp); | ^~~~~~~~~~ store/md.c: In function ‘path_to_disk’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ store/md.c:142:16: note: in expansion of macro ‘rb_search’ 142 | return rb_search(&md.root, &key, rb, disk_cmp); | ^~~~~~~~~ store/md.c: In function ‘md_add_disk’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ store/md.c:363:9: note: in expansion of macro ‘rb_insert’ 363 | rb_insert(&md.root, new, rb, disk_cmp); | ^~~~~~~~~ store/md.c: In function ‘for_each_object_in_wd’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ store/md.c:446:9: note: in expansion of macro ‘rb_for_each_entry’ 446 | rb_for_each_entry(disk, &md.root, rb) { | ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ store/md.c:455:9: note: in expansion of macro ‘rb_for_each_entry’ 455 | rb_for_each_entry(disk, &md.root, rb) { | ^~~~~~~~~~~~~~~~~ store/md.c: In function ‘for_each_object_in_stale’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ store/md.c:510:9: note: in expansion of macro ‘rb_for_each_entry’ 510 | rb_for_each_entry(disk, &md.root, rb) { | ^~~~~~~~~~~~~~~~~ store/md.c: In function ‘for_each_obj_path’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ store/md.c:527:9: note: in expansion of macro ‘rb_for_each_entry’ 527 | rb_for_each_entry(disk, &md.root, rb) { | ^~~~~~~~~~~~~~~~~ store/md.c: In function ‘md_do_recover’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ store/md.c:555:30: note: in expansion of macro ‘container_of’ 555 | struct md_work *mw = container_of(work, struct md_work, work); | ^~~~~~~~~~~~ store/md.c: In function ‘scan_wd’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ store/md.c:717:9: note: in expansion of macro ‘rb_for_each_entry’ 717 | rb_for_each_entry(disk, &md.root, rb) { | ^~~~~~~~~~~~~~~~~ store/md.c: In function ‘md_get_info’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ store/md.c:774:9: note: in expansion of macro ‘rb_for_each_entry’ 774 | rb_for_each_entry(disk, &md.root, rb) { | ^~~~~~~~~~~~~~~~~ store/md.c: In function ‘md_get_size’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ store/md.c:891:9: note: in expansion of macro ‘rb_for_each_entry’ 891 | rb_for_each_entry(disk, &md.root, rb) { | ^~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o store/plain_store.o store/plain_store.c store/md.c: In function ‘md_check_and_move’: store/md.c:637:37: warning: ‘/.stale/’ directive output may be truncated writing 8 bytes into a region of size between 1 and 4096 [-Wformat-truncation=] 637 | "%s/.stale/%016"PRIx64"_%d.%"PRIu32, | ^~~~~~~~ In function ‘get_old_new_path’, inlined from ‘md_check_and_move’ at store/md.c:690:6: store/md.c:637:34: note: directive argument in the range [0, 255] 637 | "%s/.stale/%016"PRIx64"_%d.%"PRIu32, | ^~~~~~~~~~~~~~~~ store/md.c:637:34: note: directive argument in the range [1, 4294967295] In file included from /usr/include/stdio.h:980, from ../include/util.h:4: In function ‘snprintf’, inlined from ‘get_old_new_path’ at store/md.c:636:4, inlined from ‘md_check_and_move’ at store/md.c:690:6: /usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 29 and 4135 bytes into a destination of size 4096 54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ store/md.c: In function ‘md_check_and_move’: store/md.c:630:37: warning: ‘/.stale/’ directive output may be truncated writing 8 bytes into a region of size between 1 and 4096 [-Wformat-truncation=] 630 | "%s/.stale/%016"PRIx64".%"PRIu32, | ^~~~~~~~ In function ‘get_old_new_path’, inlined from ‘md_check_and_move’ at store/md.c:690:6: store/md.c:630:34: note: directive argument in the range [1, 4294967295] 630 | "%s/.stale/%016"PRIx64".%"PRIu32, | ^~~~~~~~~~~~~~~~ In function ‘snprintf’, inlined from ‘get_old_new_path’ at store/md.c:629:4, inlined from ‘md_check_and_move’ at store/md.c:690:6: /usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 27 and 4131 bytes into a destination of size 4096 54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ In function ‘get_old_new_path’, inlined from ‘md_check_and_move’ at store/md.c:690:6: store/md.c:621:49: warning: ‘%016lx’ directive output may be truncated writing 16 bytes into a region of size between 0 and 4095 [-Wformat-truncation=] 621 | snprintf(new, PATH_MAX, "%s/%016" PRIx64"_%d", | ^~~~~~~~~ store/md.c: In function ‘md_check_and_move’: store/md.c:621:53: note: format string is defined here 621 | snprintf(new, PATH_MAX, "%s/%016" PRIx64"_%d", In function ‘get_old_new_path’, inlined from ‘md_check_and_move’ at store/md.c:690:6: store/md.c:621:49: note: directive argument in the range [0, 255] 621 | snprintf(new, PATH_MAX, "%s/%016" PRIx64"_%d", | ^~~~~~~~~ In function ‘snprintf’, inlined from ‘get_old_new_path’ at store/md.c:621:4, inlined from ‘md_check_and_move’ at store/md.c:690:6: /usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 20 and 4117 bytes into a destination of size 4096 54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ In function ‘get_old_new_path’, inlined from ‘md_check_and_move’ at store/md.c:690:6: store/md.c:616:49: warning: ‘%016lx’ directive output may be truncated writing 16 bytes into a region of size between 0 and 4095 [-Wformat-truncation=] 616 | snprintf(new, PATH_MAX, "%s/%016" PRIx64, | ^~~~~~~~~ store/md.c: In function ‘md_check_and_move’: store/md.c:616:53: note: format string is defined here 616 | snprintf(new, PATH_MAX, "%s/%016" PRIx64, In function ‘snprintf’, inlined from ‘get_old_new_path’ at store/md.c:616:4, inlined from ‘md_check_and_move’ at store/md.c:690:6: /usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 18 and 4113 bytes into a destination of size 4096 54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -pthread -pthread -pthread -pthread -I../sheep/tracepoint -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o store/tree_store.o store/tree_store.c In file included from ../include/logger.h:20, from ../include/util.h:61, from ./sheep_priv.h:35, from store/plain_store.c:14: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ ./cluster.h: In function ‘find_cdrv’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ./sheep_priv.h: In function ‘find_store_driver’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ ./sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ ./sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ ./sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ In file included from ../include/logger.h:20, from ../include/util.h:61, from ./sheep_priv.h:35, from store/tree_store.c:14: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ ./cluster.h: In function ‘find_cdrv’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ ./cluster.h:167:9: note: in expansion of macro ‘list_for_each_entry’ 167 | list_for_each_entry(driver, &cluster_drivers, list) | ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:9: note: in expansion of macro ‘FOR_EACH_CLUSTER_DRIVER’ 174 | FOR_EACH_CLUSTER_DRIVER(cdrv) { | ^~~~~~~~~~~~~~~~~~~~~~~ ./sheep_priv.h: In function ‘find_store_driver’: ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ ./sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ ./sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:9: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ ./sheep_priv.h:317:9: note: in expansion of macro ‘list_for_each_entry’ 317 | list_for_each_entry(driver, &store_drivers, list) { | ^~~~~~~~~~~~~~~~~~~ store/md.c: In function ‘for_each_object_in_stale’: store/md.c:511:49: warning: ‘/.stale’ directive output may be truncated writing 7 bytes into a region of size between 1 and 4096 [-Wformat-truncation=] 511 | snprintf(path, sizeof(path), "%s/.stale", disk->path); | ^~~~~~~ In function ‘snprintf’, inlined from ‘for_each_object_in_stale’ at store/md.c:511:3: /usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 8 and 4103 bytes into a destination of size 4096 54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ store/plain_store.c: In function ‘default_create_and_write’: store/plain_store.c:35:44: warning: ‘.tmp’ directive output may be truncated writing 4 bytes into a region of size between 1 and 4096 [-Wformat-truncation=] 35 | return snprintf(path, PATH_MAX, "%s.tmp", tmp_path); | ^~~~ In file included from /usr/include/stdio.h:980, from ../include/util.h:4: In function ‘snprintf’, inlined from ‘get_store_tmp_path’ at store/plain_store.c:35:9, inlined from ‘default_create_and_write’ at store/plain_store.c:319:2: /usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 5 and 4100 bytes into a destination of size 4096 54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ store/tree_store.c: In function ‘move_object_to_stale_dir’: store/tree_store.c:548:42: warning: ‘%016lx’ directive output may be truncated writing 16 bytes into a region of size between 0 and 4095 [-Wformat-truncation=] 548 | snprintf(path, PATH_MAX, "%s/%016" PRIx64, | ^~~~~~~~~ store/tree_store.c:548:46: note: format string is defined here 548 | snprintf(path, PATH_MAX, "%s/%016" PRIx64, In file included from /usr/include/stdio.h:980, from ../include/util.h:4: In function ‘snprintf’, inlined from ‘move_object_to_stale_dir’ at store/tree_store.c:548:3: /usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 18 and 4113 bytes into a destination of size 4096 54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ store/tree_store.c: In function ‘move_object_to_stale_dir’: store/tree_store.c:542:42: warning: ‘%016lx’ directive output may be truncated writing 16 bytes into a region of size between 0 and 4095 [-Wformat-truncation=] 542 | snprintf(path, PATH_MAX, "%s/%016"PRIx64"_%d", | ^~~~~~~~~ store/tree_store.c:542:46: note: format string is defined here 542 | snprintf(path, PATH_MAX, "%s/%016"PRIx64"_%d", store/tree_store.c:542:42: note: directive argument in the range [0, 30] 542 | snprintf(path, PATH_MAX, "%s/%016"PRIx64"_%d", | ^~~~~~~~~ In function ‘snprintf’, inlined from ‘move_object_to_stale_dir’ at store/tree_store.c:542:3: /usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 20 and 4116 bytes into a destination of size 4096 54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ store/tree_store.c: In function ‘tree_link’: store/tree_store.c:474:34: warning: ‘%016lx’ directive output may be truncated writing 16 bytes into a region of size between 0 and 4095 [-Wformat-truncation=] 474 | snprintf(path, PATH_MAX, "%s/%016"PRIx64, tree_path, oid); | ^~~~~~~~~ store/tree_store.c:474:38: note: format string is defined here 474 | snprintf(path, PATH_MAX, "%s/%016"PRIx64, tree_path, oid); In function ‘snprintf’, inlined from ‘tree_link’ at store/tree_store.c:474:2: /usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 18 and 4113 bytes into a destination of size 4096 54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ store/tree_store.c: In function ‘get_store_path.isra’: store/tree_store.c:41:41: warning: ‘%016lx’ directive output may be truncated writing 16 bytes into a region of size between 0 and 4095 [-Wformat-truncation=] 41 | return snprintf(path, PATH_MAX, "%s/%016" PRIx64, tree_path, oid); | ^~~~~~~~~ store/tree_store.c:41:45: note: format string is defined here 41 | return snprintf(path, PATH_MAX, "%s/%016" PRIx64, tree_path, oid); In function ‘snprintf’, inlined from ‘get_store_path.isra’ at store/tree_store.c:41:9: /usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 18 and 4113 bytes into a destination of size 4096 54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ store/tree_store.c: In function ‘get_store_path.isra’: store/tree_store.c:37:49: warning: ‘%016lx’ directive output may be truncated writing 16 bytes into a region of size between 0 and 4095 [-Wformat-truncation=] 37 | return snprintf(path, PATH_MAX, "%s/%016"PRIx64"_%d", | ^~~~~~~~~ store/tree_store.c:37:53: note: format string is defined here 37 | return snprintf(path, PATH_MAX, "%s/%016"PRIx64"_%d", store/tree_store.c:37:49: note: directive argument in the range [0, 30] 37 | return snprintf(path, PATH_MAX, "%s/%016"PRIx64"_%d", | ^~~~~~~~~ In function ‘snprintf’, inlined from ‘get_store_path.isra’ at store/tree_store.c:37:10: /usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 20 and 4116 bytes into a destination of size 4096 54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ store/tree_store.c: In function ‘tree_create_and_write’: store/tree_store.c:50:44: warning: ‘.tmp’ directive output may be truncated writing 4 bytes into a region of size between 1 and 4096 [-Wformat-truncation=] 50 | return snprintf(path, PATH_MAX, "%s.tmp", tmp_path); | ^~~~ In function ‘snprintf’, inlined from ‘get_store_tmp_path’ at store/tree_store.c:50:9, inlined from ‘tree_create_and_write’ at store/tree_store.c:364:2: /usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 5 and 4100 bytes into a destination of size 4096 54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ In function ‘get_object_path’, inlined from ‘tree_get_hash’ at store/tree_store.c:671:8: store/tree_store.c:647:42: warning: ‘%016lx’ directive output may be truncated writing 16 bytes into a region of size between 0 and 4095 [-Wformat-truncation=] 647 | snprintf(path, PATH_MAX, "%s/%016"PRIx64, | ^~~~~~~~~ store/tree_store.c: In function ‘tree_get_hash’: store/tree_store.c:647:46: note: format string is defined here 647 | snprintf(path, PATH_MAX, "%s/%016"PRIx64, In function ‘snprintf’, inlined from ‘get_object_path’ at store/tree_store.c:647:3, inlined from ‘tree_get_hash’ at store/tree_store.c:671:8: /usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 18 and 4113 bytes into a destination of size 4096 54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -o sheep sheep.o group.o request.o gateway.o vdi.o journal.o ops.o recovery.o cluster/local.o object_list_cache.o store/common.o store/md.o store/plain_store.o store/tree_store.o config.o migrate.o cluster/corosync.o ../lib/libsd.a -lpthread -lm -lcpg -lqb -lcfg -lqb -lqb -lcorosync_common -lqb -lrt -lrt libtool: link: gcc -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -o sheep sheep.o group.o request.o gateway.o vdi.o journal.o ops.o recovery.o cluster/local.o object_list_cache.o store/common.o store/md.o store/plain_store.o store/tree_store.o config.o migrate.o cluster/corosync.o ../lib/libsd.a -lpthread -lm -lcpg -lcfg -lcorosync_common -lqb -lrt make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/sheep' Making all in include make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/include' make all-am make[2]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/include' make[2]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/include' make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/include' Making all in script make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/script' rm -f sheepdog-t sheepdog rm -f dog-t dog rm -f sheepdog.service-t sheepdog.service sed \ -e 's#@''SBINDIR@#/usr/sbin#g' \ -e 's#@''SYSCONFDIR@#/etc#g' \ -e 's#@''INITDDIR@#no#g' \ -e 's#@''LOCALSTATEDIR@#/var#g' \ sheepdog.in > sheepdog-t ../script/gen_bash_completion.pl ../dog/dog > dog-t sed \ -e 's#@''SBINDIR@#/usr/sbin#g' \ -e 's#@''SYSCONFDIR@#/etc#g' \ -e 's#@''INITDDIR@#no#g' \ -e 's#@''LOCALSTATEDIR@#/var#g' \ sheepdog.service.in > sheepdog.service-t if [ sheepdog != "sheepdog.service" ]; then chmod 0755 sheepdog-t; fi if [ sheepdog.service != "sheepdog.service" ]; then chmod 0755 sheepdog.service-t; fi mv sheepdog.service-t sheepdog.service mv sheepdog-t sheepdog mv dog-t dog make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/script' Making all in shepherd make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/shepherd' gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o shepherd.o shepherd.c Built shepherd In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from shepherd.c:31: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ shepherd.c: In function ‘build_node_array’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shepherd.c:81:9: note: in expansion of macro ‘list_for_each_entry’ 81 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shepherd.c:81:9: note: in expansion of macro ‘list_for_each_entry’ 81 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shepherd.c:81:9: note: in expansion of macro ‘list_for_each_entry’ 81 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ shepherd.c: In function ‘find_sheep_by_nid’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shepherd.c:95:9: note: in expansion of macro ‘list_for_each_entry’ 95 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shepherd.c:95:9: note: in expansion of macro ‘list_for_each_entry’ 95 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shepherd.c:95:9: note: in expansion of macro ‘list_for_each_entry’ 95 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ shepherd.c: In function ‘notify_remove_sheep’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shepherd.c:125:9: note: in expansion of macro ‘list_for_each_entry’ 125 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shepherd.c:125:9: note: in expansion of macro ‘list_for_each_entry’ 125 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shepherd.c:125:9: note: in expansion of macro ‘list_for_each_entry’ 125 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ shepherd.c: In function ‘remove_handler’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shepherd.c:152:9: note: in expansion of macro ‘list_for_each_entry’ 152 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shepherd.c:152:9: note: in expansion of macro ‘list_for_each_entry’ 152 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shepherd.c:152:9: note: in expansion of macro ‘list_for_each_entry’ 152 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ shepherd.c: In function ‘release_joining_sheep’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:9: note: in expansion of macro ‘list_entry’ 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ shepherd.c:207:19: note: in expansion of macro ‘list_first_entry’ 207 | waiting = list_first_entry(&join_wait_queue, | ^~~~~~~~~~~~~~~~ shepherd.c: In function ‘sph_handle_accept’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shepherd.c:361:9: note: in expansion of macro ‘list_for_each_entry’ 361 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shepherd.c:361:9: note: in expansion of macro ‘list_for_each_entry’ 361 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shepherd.c:361:9: note: in expansion of macro ‘list_for_each_entry’ 361 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ shepherd.c: In function ‘sph_handle_notify’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shepherd.c:424:9: note: in expansion of macro ‘list_for_each_entry’ 424 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shepherd.c:424:9: note: in expansion of macro ‘list_for_each_entry’ 424 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shepherd.c:424:9: note: in expansion of macro ‘list_for_each_entry’ 424 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ shepherd.c: In function ‘sph_handle_block’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shepherd.c:458:9: note: in expansion of macro ‘list_for_each_entry’ 458 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shepherd.c:458:9: note: in expansion of macro ‘list_for_each_entry’ 458 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shepherd.c:458:9: note: in expansion of macro ‘list_for_each_entry’ 458 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ shepherd.c: In function ‘sph_handle_leave’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:44: note: in expansion of macro ‘list_entry’ 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shepherd.c:492:9: note: in expansion of macro ‘list_for_each_entry’ 492 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:38: note: in expansion of macro ‘list_entry’ 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shepherd.c:492:9: note: in expansion of macro ‘list_for_each_entry’ 492 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:9: note: in expansion of macro ‘container_of’ 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:41: note: in expansion of macro ‘list_entry’ 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shepherd.c:492:9: note: in expansion of macro ‘list_for_each_entry’ 492 | list_for_each_entry(s, &sheep_list_head, sheep_list) { | ^~~~~~~~~~~~~~~~~~~ /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -o shepherd shepherd.o ../lib/libsd.a -lpthread -lrt libtool: link: gcc -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -o shepherd shepherd.o ../lib/libsd.a -lpthread -lrt make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/shepherd' Making all in tools make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/tools' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/tools' Making all in sheepfs make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/sheepfs' gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26 -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o core.o core.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26 -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o cluster.o cluster.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26 -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o vdi.o vdi.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26 -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o shadow_file.o shadow_file.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26 -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o volume.o volume.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26 -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o node.o node.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26 -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o config.o config.c In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from volume.c:25: ../include/sheep.h: In function ‘oid_to_first_vnode’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro ‘rb_entry’ 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro ‘rb_entry’ 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:16: note: in expansion of macro ‘rb_nsearch’ 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function ‘oid_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:24: note: in expansion of macro ‘rb_entry’ 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:32: note: in expansion of macro ‘rb_entry’ 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function ‘node_disk_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:38: note: in expansion of macro ‘rb_insert’ 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘disks_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:9: note: in expansion of macro ‘rb_for_each_entry’ 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘node_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro ‘unlikely’ 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:30: note: in expansion of macro ‘rb_insert’ 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_vnodes’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:9: note: in expansion of macro ‘rb_for_each_entry’ 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function ‘nodes_to_buffer’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:9: note: in expansion of macro ‘rb_for_each_entry’ 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ volume.c: In function ‘vdi_inode_tree_insert’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:26: note: in expansion of macro ‘rb_entry’ 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ volume.c:80:16: note: in expansion of macro ‘rb_insert’ 80 | return rb_insert(&vdi_inode_tree, new, rb, vdi_inode_cmp); | ^~~~~~~~~ volume.c: In function ‘vdi_inode_tree_search’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:26: note: in expansion of macro ‘rb_entry’ 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ volume.c:87:16: note: in expansion of macro ‘rb_search’ 87 | return rb_search(&vdi_inode_tree, &key, rb, vdi_inode_cmp); | ^~~~~~~~~ volume.c: In function ‘reset_socket_pool’: ../include/util.h:27:9: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro ‘container_of’ 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:29: note: in expansion of macro ‘rb_entry’ 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ volume.c:384:9: note: in expansion of macro ‘rb_for_each_entry’ 384 | rb_for_each_entry(vdi, &vdi_inode_tree, rb) { | ^~~~~~~~~~~~~~~~~ Built sheepfs /bin/sh ../libtool --tag=CC --mode=link gcc -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26 -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -o sheepfs core.o cluster.o vdi.o shadow_file.o volume.o node.o config.o ../lib/libsd.a -lfuse -pthread -lrt -lpthread -lrt libtool: link: gcc -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26 -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -o sheepfs core.o cluster.o vdi.o shadow_file.o volume.o node.o config.o ../lib/libsd.a -lfuse -lpthread -lrt -pthread make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/sheepfs' Making all in man make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/man' rm -f sheep.8-t sheep.8 rm -f dog.8-t dog.8 mv sheep.8-t sheep.8 rm -f sheepfs.8-t sheepfs.8 mv sheepfs.8-t sheepfs.8 mv dog.8-t dog.8 make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/man' make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1' make[1]: Nothing to be done for 'all-am'. make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.YwMC1A + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64 ++ dirname /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64 + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd sheepdog-1.0.1 + rm -rf /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64 + make install DESTDIR=/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64 Making install in lib make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/lib' make[2]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/lib' /usr/bin/mkdir -p '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/lib64' /usr/bin/install -c -m 644 libsheepdog.a '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/lib64' ( cd '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/lib64' && ranlib libsheepdog.a ) /usr/bin/mkdir -p '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/lib64' /bin/sh ../libtool --mode=install /usr/bin/install -c libsheepdog.la '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/lib64' libtool: install: /usr/bin/install -c .libs/libsheepdog.so /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/lib64/libsheepdog.so libtool: install: /usr/bin/install -c .libs/libsheepdog.lai /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/lib64/libsheepdog.la libtool: warning: remember to run 'libtool --finish /usr/lib64' /usr/bin/mkdir -p '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/include/sheepdog' /usr/bin/install -c -m 644 ../include/sheepdog_proto.h shared/sheepdog.h shared/internal.h ../include/util.h ../include/list.h '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/include/sheepdog' make[2]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/lib' make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/lib' Making install in dog make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/dog' Built dog make[2]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/dog' /usr/bin/mkdir -p '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/bin' /bin/sh ../libtool --mode=install /usr/bin/install -c dog '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/bin' libtool: install: /usr/bin/install -c dog /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/bin/dog make install-exec-hook make[3]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/dog' if [ -z "/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64" ];then ln -s -f /usr/bin/dog /usr/bin/collie;fi make[3]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/dog' make[2]: Nothing to be done for 'install-data-am'. make[2]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/dog' make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/dog' Making install in sheep make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/sheep' Built sheep make[2]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/sheep' /usr/bin/mkdir -p '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/sbin' /bin/sh ../libtool --mode=install /usr/bin/install -c sheep '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/sbin' libtool: install: /usr/bin/install -c sheep /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/sbin/sheep make[2]: Nothing to be done for 'install-data-am'. make[2]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/sheep' make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/sheep' Making install in include make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/include' make[2]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/include' make[2]: Nothing to be done for 'install-exec-am'. make[2]: Nothing to be done for 'install-data-am'. make[2]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/include' make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/include' Making install in script make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/script' make[2]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/script' make[2]: Nothing to be done for 'install-exec-am'. /usr/bin/mkdir -p '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/etc/bash_completion.d' /usr/bin/install -c -m 644 dog '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/etc/bash_completion.d' /usr/bin/mkdir -p '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64no' /usr/bin/install -c sheepdog '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64no' make[2]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/script' make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/script' Making install in shepherd make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/shepherd' Built shepherd make[2]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/shepherd' /usr/bin/mkdir -p '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/sbin' /bin/sh ../libtool --mode=install /usr/bin/install -c shepherd '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/sbin' libtool: install: /usr/bin/install -c shepherd /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/sbin/shepherd make[2]: Nothing to be done for 'install-data-am'. make[2]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/shepherd' make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/shepherd' Making install in tools make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/tools' make[2]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/tools' make[2]: Nothing to be done for 'install-data-am'. make[2]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/tools' make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/tools' Making install in sheepfs make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/sheepfs' Built sheepfs make[2]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/sheepfs' /usr/bin/mkdir -p '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/sbin' /bin/sh ../libtool --mode=install /usr/bin/install -c sheepfs '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/sbin' libtool: install: /usr/bin/install -c sheepfs /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/sbin/sheepfs make[2]: Nothing to be done for 'install-data-am'. make[2]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/sheepfs' make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/sheepfs' Making install in man make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/man' make[2]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/man' make[2]: Nothing to be done for 'install-exec-am'. /usr/bin/mkdir -p '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/share/man/man8' /usr/bin/install -c -m 644 sheep.8 dog.8 sheepfs.8 '/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/share/man/man8' make[2]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/man' make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/man' make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1' make[2]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1' /usr/bin/install -c -d /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64//var/lib/sheepdog make[2]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1' make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1' + rm -f /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64//usr/lib64/libsheepdog.la + rm -f /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64//usr/lib64/libsheepdog.a + mkdir -p /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64//usr/lib/systemd/system + cp -a /builddir/build/SOURCES/sheepdog.service /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64//usr/lib/systemd/system/ + cp -a /builddir/build/SOURCES/sheepdog.timer /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64//usr/lib/systemd/system/ + mkdir -p /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64//etc/sysconfig + cp -a /builddir/build/SOURCES/sheepdog /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64//etc/sysconfig + /usr/bin/find-debuginfo -j4 --strict-build-id -m -i --build-id-seed 1.0.1-20.fc40 --unique-debug-suffix -1.0.1-20.fc40.riscv64 --unique-debug-src-base sheepdog-1.0.1-20.fc40.riscv64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/sheepdog-1.0.1 find-debuginfo: starting Extracting debug info from 5 files DWARF-compressing 5 files sepdebugcrcfix: Updated 5 CRC32s, 0 CRC32s did match. Creating .debug symlinks for symlinks to ELF files Copying sources found by 'debugedit -l' to /usr/src/debug/sheepdog-1.0.1-20.fc40.riscv64 2018 blocks find-debuginfo: done + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j4 + /usr/lib/rpm/redhat/brp-python-hardlink Processing files: sheepdog-1.0.1-20.fc40.riscv64 Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.blsXP9 + umask 022 + cd /builddir/build/BUILD + cd sheepdog-1.0.1 + DOCDIR=/builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/share/doc/sheepdog + export LC_ALL= + LC_ALL= + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/share/doc/sheepdog + cp -pr /builddir/build/BUILD/sheepdog-1.0.1/COPYING /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/share/doc/sheepdog + cp -pr /builddir/build/BUILD/sheepdog-1.0.1/README /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64/usr/share/doc/sheepdog + RPM_EC=0 ++ jobs -p + exit 0 Provides: config(sheepdog) = 1.0.1-20.fc40 sheepdog = 1.0.1-20.fc40 sheepdog(riscv-64) = 1.0.1-20.fc40 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(post): /bin/sh systemd Requires(preun): /bin/sh systemd Requires(postun): /bin/sh systemd Requires: ld-linux-riscv64-lp64d.so.1()(64bit) ld-linux-riscv64-lp64d.so.1(GLIBC_2.27)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.27)(64bit) libc.so.6(GLIBC_2.28)(64bit) libc.so.6(GLIBC_2.33)(64bit) libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_2.38)(64bit) libcfg.so.7()(64bit) libcfg.so.7(COROSYNC_CFG_0.82)(64bit) libcpg.so.4()(64bit) libcpg.so.4(COROSYNC_CPG_1.0)(64bit) libfuse.so.2()(64bit) libfuse.so.2(FUSE_2.5)(64bit) libfuse.so.2(FUSE_2.6)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.27)(64bit) rtld(GNU_HASH) Processing files: sheepdog-devel-1.0.1-20.fc40.riscv64 Provides: sheepdog-devel = 1.0.1-20.fc40 sheepdog-devel(riscv-64) = 1.0.1-20.fc40 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Processing files: sheepdog-libs-1.0.1-20.fc40.riscv64 Provides: libsheepdog.so()(64bit) sheepdog-libs = 1.0.1-20.fc40 sheepdog-libs(riscv-64) = 1.0.1-20.fc40 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: ld-linux-riscv64-lp64d.so.1()(64bit) ld-linux-riscv64-lp64d.so.1(GLIBC_2.27)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.27)(64bit) libc.so.6(GLIBC_2.33)(64bit) libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_2.38)(64bit) rtld(GNU_HASH) Processing files: sheepdog-debugsource-1.0.1-20.fc40.riscv64 Provides: sheepdog-debugsource = 1.0.1-20.fc40 sheepdog-debugsource(riscv-64) = 1.0.1-20.fc40 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Processing files: sheepdog-debuginfo-1.0.1-20.fc40.riscv64 Provides: debuginfo(build-id) = 0557fb8f035950c2d413b526490d734359bd08a7 debuginfo(build-id) = 65fba8b4ab1dc2b4c8d5cfcd513ec5715fa024ce debuginfo(build-id) = 92178cad9153de041229689a79bca61aa9c939bf debuginfo(build-id) = c3dc60814ccfaa4f01c8d32624dd2d9e0b2b992d sheepdog-debuginfo = 1.0.1-20.fc40 sheepdog-debuginfo(riscv-64) = 1.0.1-20.fc40 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Recommends: sheepdog-debugsource(riscv-64) = 1.0.1-20.fc40 Processing files: sheepdog-libs-debuginfo-1.0.1-20.fc40.riscv64 Provides: debuginfo(build-id) = beb4e1e0d3f8e789834212c62b7d113e6c74f129 libsheepdog.so-1.0.1-20.fc40.riscv64.debug()(64bit) sheepdog-libs-debuginfo = 1.0.1-20.fc40 sheepdog-libs-debuginfo(riscv-64) = 1.0.1-20.fc40 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Recommends: sheepdog-debugsource(riscv-64) = 1.0.1-20.fc40 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64 Wrote: /builddir/build/RPMS/sheepdog-libs-debuginfo-1.0.1-20.fc40.riscv64.rpm Wrote: /builddir/build/RPMS/sheepdog-devel-1.0.1-20.fc40.riscv64.rpm Wrote: /builddir/build/RPMS/sheepdog-libs-1.0.1-20.fc40.riscv64.rpm Wrote: /builddir/build/RPMS/sheepdog-1.0.1-20.fc40.riscv64.rpm Wrote: /builddir/build/RPMS/sheepdog-debugsource-1.0.1-20.fc40.riscv64.rpm Wrote: /builddir/build/RPMS/sheepdog-debuginfo-1.0.1-20.fc40.riscv64.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.9vEwDp + umask 022 + cd /builddir/build/BUILD + cd sheepdog-1.0.1 + /usr/bin/rm -rf /builddir/build/BUILDROOT/sheepdog-1.0.1-20.fc40.riscv64 + RPM_EC=0 ++ jobs -p + exit 0 Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.zZlsbU + umask 022 + cd /builddir/build/BUILD + rm -rf /builddir/build/BUILD/sheepdog-1.0.1-SPECPARTS + rm -rf sheepdog-1.0.1 sheepdog-1.0.1.gemspec + RPM_EC=0 ++ jobs -p + exit 0 RPM build warnings: %patchN is deprecated (1 usages found), use %patch N (or %patch -P N) Child return code was: 0