+ exec + rm -rf /rpmbuild + mkdir -p /rpmbuild + su -c 'rpmbuild -ba /builddir/build/SPECS/sheepdog.spec --define "debug_package %{nil}" --undefine _annotated_build --define "_missing_doc_files_terminate_build %{nil}" --define "_emacs_sitestartdir /usr/share/emacs/site-lisp/site-start.d" --define "_emacs_sitelispdir /usr/share/emacs/site-lisp" --nocheck ' mockbuild Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.BiaEKV + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf sheepdog-1.0.1 + /usr/bin/gzip -dc /builddir/build/SOURCES/v1.0.1.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd sheepdog-1.0.1 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.xAaK3W + umask 022 + cd /builddir/build/BUILD + 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: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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 ' + export CFLAGS + CXXFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 ' + export CXXFLAGS + FFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -I/usr/lib64/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -I/usr/lib64/gfortran/modules' + export FCFLAGS + LDFLAGS='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' + export LDFLAGS + '[' 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-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="-specs=/usr/lib/rpm/redhat/redhat-hardened-ld"~' ./ltmain.sh + ./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 --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 thread-safe 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... no checking for 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 we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... 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-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 how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.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... gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ISO C89... (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 ANSI C header files... (cached) yes checking for sys/wait.h that is POSIX.1 compatible... yes checking arpa/inet.h usability... yes checking arpa/inet.h presence... yes checking for arpa/inet.h... yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking netdb.h usability... yes checking netdb.h presence... yes checking for netdb.h... yes checking netinet/in.h usability... yes checking netinet/in.h presence... 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 sys/ioctl.h usability... yes checking sys/ioctl.h presence... yes checking for sys/ioctl.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking syslog.h usability... yes checking syslog.h presence... yes checking for syslog.h... yes checking for unistd.h... (cached) yes checking for sys/types.h... (cached) yes checking getopt.h usability... yes checking getopt.h presence... yes checking for getopt.h... yes checking malloc.h usability... yes checking malloc.h presence... yes checking for malloc.h... yes checking sys/sockio.h usability... no checking sys/sockio.h presence... no checking for sys/sockio.h... no checking utmpx.h usability... yes checking utmpx.h presence... yes checking for utmpx.h... yes checking urcu.h usability... yes checking urcu.h presence... yes checking for urcu.h... yes checking urcu/uatomic.h usability... yes checking urcu/uatomic.h presence... yes checking for urcu/uatomic.h... yes checking for an ANSI C-conforming const... yes checking for uid_t in sys/types.h... yes checking for inline... inline checking for size_t... (cached) yes checking whether time.h and sys/time.h may both be included... 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 sys/eventfd.h usability... yes checking sys/eventfd.h presence... yes checking for sys/eventfd.h... yes checking sys/signalfd.h usability... yes checking sys/signalfd.h presence... yes checking for sys/signalfd.h... yes checking sys/timerfd.h usability... yes checking sys/timerfd.h presence... 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 working POSIX fnmatch... yes checking for pid_t... yes checking vfork.h usability... no checking vfork.h presence... no checking for vfork.h... no checking for fork... yes checking for vfork... yes checking for working fork... yes checking for working vfork... (cached) yes checking whether gcc needs -traditional... no checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for working memcmp... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible realloc... yes checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking for sys/socket.h... (cached) yes checking types of arguments for select... int,fd_set *,struct timeval * checking return type of signal handlers... void checking for vprintf... yes checking for _doprnt... no 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 corosync2... 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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 Env. defined CPPFLAGS = Env. defined LDFLAGS = -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld 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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -specs=/usr/lib/rpm/redhat/redhat-hardened-ld + 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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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:0: event.c: In function 'lookup_event': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ event.c:100:9: note: in expansion of macro 'rb_search' return rb_search(&events_tree, &key, rb, event_cmp); ^~~~~~~~~ event.c: In function 'register_event_prio': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ event.c:124:3: note: in expansion of macro 'rb_insert' rb_insert(&events_tree, ei, rb, event_cmp); ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from logger.c:38: logger.c: In function 'init_log_formatter': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ logger.c:281:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(f, &log_formats, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ logger.c:281:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(f, &log_formats, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ logger.c:281:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(f, &log_formats, list) { ^~~~~~~~~~~~~~~~~~~ logger.c: In function 'dolog': logger.c:402:23: warning: cast increases required alignment of target type [-Wcast-align] struct logmsg *msg = (struct logmsg *)buf; ^ logger.c:431:10: warning: cast increases required alignment of target type [-Wcast-align] msg = (struct logmsg *)la->tail; ^ logger.c: In function 'log_flush': logger.c:525:9: warning: cast increases required alignment of target type [-Wcast-align] msg = (const struct logmsg *)(log_buff + done); ^ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from logger.c:38: logger.c: In function 'early_log_init': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ logger.c:642:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(f, &log_formats, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ logger.c:642:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(f, &log_formats, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ logger.c:642:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(f, &log_formats, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ logger.c:651:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(f, &log_formats, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ logger.c:651:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(f, &log_formats, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ logger.c:651:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(f, &log_formats, list) { ^~~~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ net.c: In function 'str_to_addr': net.c:441:10: warning: cast increases required alignment of target type [-Wcast-align] sin = (struct sockaddr_in *) rp->ai_addr; ^ net.c:445:11: warning: cast increases required alignment of target type [-Wcast-align] sin6 = (struct sockaddr_in6 *) rp->ai_addr; ^ net.c: In function 'get_local_addr': net.c:548:10: warning: cast increases required alignment of target type [-Wcast-align] sin = (struct sockaddr_in *)ifa->ifa_addr; ^ net.c:554:11: warning: cast increases required alignment of target type [-Wcast-align] sin6 = (struct sockaddr_in6 *)ifa->ifa_addr; ^ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 In file included from /usr/include/arpa/inet.h:22:0, from sha1.c:22: sha1.c: In function 'sha1_transform': sha1.c:74:23: warning: cast increases required alignment of target type [-Wcast-align] block32[a] = ntohl(((const uint32_t *)in)[a]); ^ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 In file included from ../include/logger.h:20:0, from ../include/util.h:61, from work.c:32: work.c: In function 'queue_work': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ work.c:277:23: note: in expansion of macro 'container_of' struct wq_info *wi = container_of(q, struct wq_info, q); ^~~~~~~~~~~~ work.c: In function 'worker_thread_request_done': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ work.c:305:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(wi, &wq_info_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ work.c:305:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(wi, &wq_info_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ work.c:305:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(wi, &wq_info_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' list_entry((head)->n.next, type, member) ^~~~~~~~~~ work.c:311:11: note: in expansion of macro 'list_first_entry' work = list_first_entry(&list, struct work, w_list); ^~~~~~~~~~~~~~~~ work.c: In function 'worker_routine': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' list_entry((head)->n.next, type, member) ^~~~~~~~~~ work.c:350:10: note: in expansion of macro 'list_first_entry' work = list_first_entry(&wi->q.pending_list, ^~~~~~~~~~~~~~~~ work.c: In function 'create_fixed_work_queue': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ work.c:459:7: note: in expansion of macro 'container_of' wi = container_of(wq, struct wq_info, q); ^~~~~~~~~~~~ work.c: In function 'work_queue_empty': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ work.c:470:23: note: in expansion of macro 'container_of' 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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ sockfd_cache.c: In function 'sockfd_cache_insert': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ sockfd_cache.c:87:9: note: in expansion of macro 'rb_insert' return rb_insert(&sockfd_cache.root, new, rb, sockfd_cache_cmp); ^~~~~~~~~ sockfd_cache.c: In function 'sockfd_cache_search': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ sockfd_cache.c:94:9: note: in expansion of macro 'rb_search' return rb_search(&sockfd_cache.root, &key, rb, sockfd_cache_cmp); ^~~~~~~~~ sockfd_cache.c: In function 'sockfd_cache_add_group': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ sockfd_cache.c:218:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ sockfd_cache.c: In function 'do_grow_fds': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ sockfd_cache.c:264:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(entry, &sockfd_cache.root, rb) { ^~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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:0, from ../include/util.h:61, from sd_inode.c:83: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ In file included from sd_inode.c:83:0: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sd_inode.c:83: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from sd_inode.c:83:0: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sd_inode.c:83: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 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] #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ ^ sd_inode.c:95:29: note: in expansion of macro 'FIRST_INDEX' #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) ^~~~~~~~~~~ sd_inode.c:152:10: note: in expansion of macro 'LAST_INDEX' last = LAST_INDEX(inode->data_vdi_id); ^~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ ^ sd_inode.c:153:10: note: in expansion of macro 'FIRST_INDEX' iter = FIRST_INDEX(inode->data_vdi_id); ^~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ ^ sd_inode.c:102:35: note: in expansion of macro 'FIRST_INDIRECT_IDX' #define LAST_INDRECT_IDX(data) (FIRST_INDIRECT_IDX(data) + \ ^~~~~~~~~~~~~~~~~~ sd_inode.c:161:14: note: in expansion of macro 'LAST_INDRECT_IDX' last_idx = LAST_INDRECT_IDX(inode->data_vdi_id); ^~~~~~~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ ^ sd_inode.c:162:14: note: in expansion of macro 'FIRST_INDIRECT_IDX' iter_idx = FIRST_INDIRECT_IDX(inode->data_vdi_id); ^~~~~~~~~~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ ^ sd_inode.c:95:29: note: in expansion of macro 'FIRST_INDEX' #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) ^~~~~~~~~~~ sd_inode.c:179:11: note: in expansion of macro 'LAST_INDEX' last = LAST_INDEX(leaf_node); ^~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ ^ sd_inode.c:180:11: note: in expansion of macro 'FIRST_INDEX' 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] #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ ^ sd_inode.c:95:29: note: in expansion of macro 'FIRST_INDEX' #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) ^~~~~~~~~~~ sd_inode.c:340:26: note: in expansion of macro 'LAST_INDEX' 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] #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ ^ sd_inode.c:102:35: note: in expansion of macro 'FIRST_INDIRECT_IDX' #define LAST_INDRECT_IDX(data) (FIRST_INDIRECT_IDX(data) + \ ^~~~~~~~~~~~~~~~~~ sd_inode.c:349:33: note: in expansion of macro 'LAST_INDRECT_IDX' struct sd_indirect_idx *last = LAST_INDRECT_IDX(header); ^~~~~~~~~~~~~~~~ In file included from sd_inode.c:83:0: sd_inode.c: In function 'search_index_entry': sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ ^ ../include/util.h:178:26: note: in definition of macro 'nbsearch' typeof(key) __m, __l = base, __r = base + nmemb - 1; \ ^~~~ sd_inode.c:360:24: note: in expansion of macro 'FIRST_INDEX' return nbsearch(&tmp, FIRST_INDEX(header), header->entries, ^~~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ ^ ../include/util.h:178:38: note: in definition of macro 'nbsearch' typeof(key) __m, __l = base, __r = base + nmemb - 1; \ ^~~~ sd_inode.c:360:24: note: in expansion of macro 'FIRST_INDEX' 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] #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ ^ ../include/util.h:178:26: note: in definition of macro 'nbsearch' typeof(key) __m, __l = base, __r = base + nmemb - 1; \ ^~~~ sd_inode.c:370:24: note: in expansion of macro 'FIRST_INDIRECT_IDX' return nbsearch(&tmp, FIRST_INDIRECT_IDX(header), header->entries, ^~~~~~~~~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ ^ ../include/util.h:178:38: note: in definition of macro 'nbsearch' typeof(key) __m, __l = base, __r = base + nmemb - 1; \ ^~~~ sd_inode.c:370:24: note: in expansion of macro 'FIRST_INDIRECT_IDX' 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] #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ ^ sd_inode.c:95:29: note: in expansion of macro 'FIRST_INDEX' #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) ^~~~~~~~~~~ sd_inode.c:378:26: note: in expansion of macro 'LAST_INDEX' 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] #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ ^ sd_inode.c:102:35: note: in expansion of macro 'FIRST_INDIRECT_IDX' #define LAST_INDRECT_IDX(data) (FIRST_INDIRECT_IDX(data) + \ ^~~~~~~~~~~~~~~~~~ sd_inode.c:390:33: note: in expansion of macro 'LAST_INDRECT_IDX' 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] #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ ^ sd_inode.c:407:3: note: in expansion of macro 'FIRST_INDIRECT_IDX' FIRST_INDIRECT_IDX(header)->idx = idx; ^~~~~~~~~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ ^ sd_inode.c:408:3: note: in expansion of macro 'FIRST_INDIRECT_IDX' 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] #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ ^ sd_inode.c:428:10: note: in expansion of macro 'FIRST_INDEX' 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] #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ ^ sd_inode.c:95:29: note: in expansion of macro 'FIRST_INDEX' #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) ^~~~~~~~~~~ sd_inode.c:465:26: note: in expansion of macro 'LAST_INDEX' 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] #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ ^ sd_inode.c:95:29: note: in expansion of macro 'FIRST_INDEX' #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) ^~~~~~~~~~~ sd_inode.c:466:26: note: in expansion of macro 'LAST_INDEX' 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] #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ ^ sd_inode.c:95:29: note: in expansion of macro 'FIRST_INDEX' #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) ^~~~~~~~~~~ sd_inode.c:585:5: note: in expansion of macro 'LAST_INDEX' 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] #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ ^ sd_inode.c:95:29: note: in expansion of macro 'FIRST_INDEX' #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) ^~~~~~~~~~~ sd_inode.c:632:6: note: in expansion of macro 'LAST_INDEX' (LAST_INDEX(path->p_index_header) - 1)->idx; ^~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ ^ sd_inode.c:646:12: note: in expansion of macro 'FIRST_INDEX' 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] #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ ^ sd_inode.c:102:35: note: in expansion of macro 'FIRST_INDIRECT_IDX' #define LAST_INDRECT_IDX(data) (FIRST_INDIRECT_IDX(data) + \ ^~~~~~~~~~~~~~~~~~ sd_inode.c:843:14: note: in expansion of macro 'LAST_INDRECT_IDX' last_idx = LAST_INDRECT_IDX(data_vdi_id); ^~~~~~~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ ^ sd_inode.c:844:18: note: in expansion of macro 'FIRST_INDIRECT_IDX' old_iter_idx = FIRST_INDIRECT_IDX(data_vdi_id); ^~~~~~~~~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ ^ sd_inode.c:845:18: note: in expansion of macro 'FIRST_INDIRECT_IDX' new_iter_idx = FIRST_INDIRECT_IDX(newi->data_vdi_id); ^~~~~~~~~~~~~~~~~~ sd_inode.c: In function 'volume_stat': sd_inode.c:905:7: warning: cast increases required alignment of target type [-Wcast-align] p = (uint64_t *)(inode->data_vdi_id + 1); ^ sd_inode.c:907:7: warning: cast increases required alignment of target type [-Wcast-align] p = (uint64_t *)inode->data_vdi_id; ^ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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:0, from ../include/util.h:61, from common.c:23: common.c: In function 'purge_work_fn': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ common.c:132:26: note: in expansion of macro 'container_of' struct purge_work *pw = container_of(work, struct purge_work, work); ^~~~~~~~~~~~ common.c: In function 'purge_work_done': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ common.c:160:26: note: in expansion of macro 'container_of' struct purge_work *pw = container_of(work, struct purge_work, work); ^~~~~~~~~~~~ /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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 /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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 /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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 In file included from shared/sheepdog.h:23:0, from shared/sheep.c:14: shared/sheep.c: In function 'submit_blocking_sheep_request': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ shared/sheep.c:172:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->blocking_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ shared/sheep.c:172:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->blocking_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ shared/sheep.c:172:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->blocking_list, list) { ^~~~~~~~~~~~~~~~~~~ shared/sheep.c: In function 'find_inflight_request_oid': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ shared/sheep.c:187:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->inflight_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ shared/sheep.c:187:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->inflight_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ shared/sheep.c:187:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->inflight_list, list) { ^~~~~~~~~~~~~~~~~~~ shared/sheep.c: In function 'request_handler': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' list_entry((head)->n.next, type, member) ^~~~~~~~~~ shared/sheep.c:238:10: note: in expansion of macro 'list_first_entry' req = list_first_entry(&c->request_list, ^~~~~~~~~~~~~~~~ shared/sheep.c: In function 'fetch_first_inflight_request': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' list_entry((head)->n.next, type, member) ^~~~~~~~~~ shared/sheep.c:255:9: note: in expansion of macro 'list_first_entry' req = list_first_entry(&c->inflight_list, struct sheep_request, ^~~~~~~~~~~~~~~~ shared/sheep.c: In function 'fetch_inflight_request': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ shared/sheep.c:271:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->inflight_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ shared/sheep.c:271:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->inflight_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ shared/sheep.c:271:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->inflight_list, list) { ^~~~~~~~~~~~~~~~~~~ libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 In file included from ../include/rbtree.h:4:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ In file included from shared/sheepdog.h:23:0, from shared/vdi.c:14: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/rbtree.h:4:0, from ../include/internal_proto.h:24, from ../include/sheep.h:16, from shared/vdi.c:16: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from shared/sheepdog.h:23:0, from shared/vdi.c:14: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/rbtree.h:4:0, from ../include/internal_proto.h:24, from ../include/sheep.h:16, from shared/vdi.c:16: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ shared/vdi.c: In function 'sd_vdi_snapshot': shared/vdi.c:324:27: warning: cast increases required alignment of target type [-Wcast-align] struct sd_inode *inode = (struct sd_inode *)buf; ^ shared/vdi.c: In function 'sd_vdi_rollback': shared/vdi.c:557:27: warning: cast increases required alignment of target type [-Wcast-align] struct sd_inode *inode = (struct sd_inode *)buf; ^ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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:0, from shared/sheep.c:14: shared/sheep.c: In function 'submit_blocking_sheep_request': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ shared/sheep.c:172:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->blocking_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ shared/sheep.c:172:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->blocking_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ shared/sheep.c:172:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->blocking_list, list) { ^~~~~~~~~~~~~~~~~~~ shared/sheep.c: In function 'find_inflight_request_oid': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ shared/sheep.c:187:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->inflight_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ shared/sheep.c:187:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->inflight_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ shared/sheep.c:187:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->inflight_list, list) { ^~~~~~~~~~~~~~~~~~~ shared/sheep.c: In function 'request_handler': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' list_entry((head)->n.next, type, member) ^~~~~~~~~~ shared/sheep.c:238:10: note: in expansion of macro 'list_first_entry' req = list_first_entry(&c->request_list, ^~~~~~~~~~~~~~~~ shared/sheep.c: In function 'fetch_first_inflight_request': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' list_entry((head)->n.next, type, member) ^~~~~~~~~~ shared/sheep.c:255:9: note: in expansion of macro 'list_first_entry' req = list_first_entry(&c->inflight_list, struct sheep_request, ^~~~~~~~~~~~~~~~ shared/sheep.c: In function 'fetch_inflight_request': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ shared/sheep.c:271:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->inflight_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ shared/sheep.c:271:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->inflight_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ shared/sheep.c:271:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &c->inflight_list, list) { ^~~~~~~~~~~~~~~~~~~ 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 /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -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 ../include/rbtree.h:4:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ In file included from shared/sheepdog.h:23:0, from shared/vdi.c:14: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/rbtree.h:4:0, from ../include/internal_proto.h:24, from ../include/sheep.h:16, from shared/vdi.c:16: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from shared/sheepdog.h:23:0, from shared/vdi.c:14: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/rbtree.h:4:0, from ../include/internal_proto.h:24, from ../include/sheep.h:16, from shared/vdi.c:16: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ shared/vdi.c: In function 'sd_vdi_snapshot': shared/vdi.c:324:27: warning: cast increases required alignment of target type [-Wcast-align] struct sd_inode *inode = (struct sd_inode *)buf; ^ shared/vdi.c: In function 'sd_vdi_rollback': shared/vdi.c:557:27: warning: cast increases required alignment of target type [-Wcast-align] struct sd_inode *inode = (struct sd_inode *)buf; ^ 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 | sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | 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" rm -f libsheepdog.a libtool: link: mv -f ".libs/libsheepdog.expT" ".libs/libsheepdog.exp" ar cru libsheepdog.a shared/libsheepdog_a-sheep.o shared/libsheepdog_a-vdi.o libsheepdog_a-util.o libtool: link: echo "{ global:" > .libs/libsheepdog.ver libtool: link: cat .libs/libsheepdog.exp | sed -e "s/\(.*\)/\1;/" >> .libs/libsheepdog.ver ranlib libsheepdog.a 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 -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -O2 -g -fstack-protector-strong -grecord-gcc-switches -ggdb3 -Wl,-z -Wl,relro -Wl,-soname -Wl,libsheepdog.so -Wl,-version-script -Wl,.libs/libsheepdog.ver -o .libs/libsheepdog.so 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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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:0, from ../include/util.h:61, from treeview.c:16: treeview.c: In function 'find_vdi': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ treeview.c:32:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &parent->children, siblings) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ treeview.c:32:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &parent->children, siblings) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ treeview.c:32:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &parent->children, siblings) { ^~~~~~~~~~~~~~~~~~~ treeview.c: In function 'find_vdi_by_vid': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ treeview.c:47:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &parent->children, siblings) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ treeview.c:47:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &parent->children, siblings) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ treeview.c:47:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &parent->children, siblings) { ^~~~~~~~~~~~~~~~~~~ treeview.c: In function 'find_vdi_by_name': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ treeview.c:63:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &parent->children, siblings) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ treeview.c:63:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &parent->children, siblings) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ treeview.c:63:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &parent->children, siblings) { ^~~~~~~~~~~~~~~~~~~ treeview.c: In function 'compaction': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ treeview.c:129:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &parent->children, siblings) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ treeview.c:129:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &parent->children, siblings) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ treeview.c:129:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &parent->children, siblings) { ^~~~~~~~~~~~~~~~~~~ treeview.c: In function 'get_depth': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ treeview.c:143:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &parent->children, siblings) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ treeview.c:143:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &parent->children, siblings) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ treeview.c:143:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &parent->children, siblings) { ^~~~~~~~~~~~~~~~~~~ treeview.c: In function '_dump_tree': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ treeview.c:196:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, ¤t->children, siblings) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ treeview.c:196:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, ¤t->children, siblings) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ treeview.c:196:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, ¤t->children, siblings) { ^~~~~~~~~~~~~~~~~~~ treeview.c: In function 'dump_tree': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ treeview.c:219:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &root->children, siblings) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ treeview.c:219:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &root->children, siblings) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ treeview.c:219:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &root->children, siblings) { ^~~~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ In file included from ../include/fec.h:65:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ vdi.c: In function 'for_each_node_print': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ vdi.c:271:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, &sd_nroot, rb) { ^~~~~~~~~~~~~~~~~ dog.c: In function 'update_node_list': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ dog.c:108:3: note: in expansion of macro 'rb_insert' rb_insert(&sd_nroot, n, rb, node_cmp); ^~~~~~~~~ vdi.c: In function 'vdi_snapshot': vdi.c:741:27: warning: cast increases required alignment of target type [-Wcast-align] struct sd_inode *inode = (struct sd_inode *)buf; ^ vdi.c: In function 'vdi_resize': vdi.c:946:27: warning: cast increases required alignment of target type [-Wcast-align] struct sd_inode *inode = (struct sd_inode *)buf; ^ vdi.c: In function 'vdi_rollback': vdi.c:1099:27: warning: cast increases required alignment of target type [-Wcast-align] struct sd_inode *inode = (struct sd_inode *)buf; ^ In file included from ../include/fec.h:65:0, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from vdi.c:21: vdi.c: In function 'save_oid': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ vdi.c:1258:11: note: in expansion of macro 'rb_search' entry = rb_search(&oid_tree, &key, rb, oid_entry_cmp); ^~~~~~~~~ vdi.c: In function 'build_oid_tree': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ vdi.c:1280:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(node, &sd_nroot, rb) { ^~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ vdi.c:1286:3: note: in expansion of macro 'rb_insert' rb_insert(&oid_tree, entry, rb, oid_entry_cmp); ^~~~~~~~~ vdi.c: In function 'destroy_oid_tree': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ vdi.c:1304:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(entry, &oid_tree, rb) ^~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(__dummy, root, member) { \ ^~~~~~~~~~~~~~~~~ vdi.c:1306:2: note: in expansion of macro 'rb_destroy' rb_destroy(&oid_tree, struct oid_entry, rb); ^~~~~~~~~~ vdi.c: In function 'do_vdi_check_exist': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ vdi.c:1318:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(entry, &oid_tree, rb) { ^~~~~~~~~~~~~~~~~ vdi.c: In function 'do_track_object': vdi.c:1390:9: warning: cast increases required alignment of target type [-Wcast-align] log = (struct epoch_log *)next_log; ^ In file included from ../include/fec.h:65:0, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from vdi.c:21: ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ vdi.c:1408:4: note: in expansion of macro 'rb_insert' rb_insert(&nroot, &log->nodes[k], rb, node_cmp); ^~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(__dummy, root, member) { \ ^~~~~~~~~~~~~~~~~ vdi.c:1419:3: note: in expansion of macro 'rb_destroy' rb_destroy(&vroot, struct sd_vnode, rb); ^~~~~~~~~~ vdi.c: In function 'vdi_repair_work': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ vdi.c:1891:31: note: in expansion of macro 'container_of' struct vdi_check_work *vcw = container_of(work, struct vdi_check_work, ^~~~~~~~~~~~ vdi.c: In function 'vdi_repair_main': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ vdi.c:1919:31: note: in expansion of macro 'container_of' struct vdi_check_work *vcw = container_of(work, struct vdi_check_work, ^~~~~~~~~~~~ vdi.c: In function 'vdi_check_object_work': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ vdi.c:1935:31: note: in expansion of macro 'container_of' struct vdi_check_work *vcw = container_of(work, struct vdi_check_work, ^~~~~~~~~~~~ vdi.c: In function 'vdi_check_object_main': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ vdi.c:2139:31: note: in expansion of macro 'container_of' struct vdi_check_work *vcw = container_of(work, struct vdi_check_work, ^~~~~~~~~~~~ vdi.c: In function 'vdi_restore': vdi.c:2564:34: warning: cast increases required alignment of target type [-Wcast-align] struct sd_inode *parent_inode = (struct sd_inode *)buf; ^ vdi.c: In function 'vdi_alter_copy': vdi.c:2751:27: warning: cast increases required alignment of target type [-Wcast-align] struct sd_inode *inode = (struct sd_inode *)buf; ^ In file included from ../include/util.h:61:0, from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from vdi.c:21: vdi.c: In function 'for_each_node_print': vdi.c:285:32: warning: statement will never be executed [-Wswitch-unreachable] sd_err("%s", sd_strerror(rsp->result)); ~~~^~~ ../include/logger.h:73:49: note: in definition of macro 'sd_err' log_write(SDOG_ERR, __func__, __LINE__, fmt, ##args) ^~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 In file included from ../include/fec.h:65:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ node.c: In function 'node_list': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ node.c:39:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, &sd_nroot, rb) { ^~~~~~~~~~~~~~~~~ node.c: In function 'node_info': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ node.c:58:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, &sd_nroot, rb) { ^~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 node.c: In function 'node_recovery_info': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ node.c:200:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, &sd_nroot, rb) { ^~~~~~~~~~~~~~~~~ node.c: In function 'idx_to_node': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ node.c:356:22: note: in expansion of macro 'rb_entry' struct sd_node *n = rb_entry(rb_first(nroot), struct sd_node, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ node.c:359:7: note: in expansion of macro 'rb_entry' n = rb_entry(rb_next(&n->rb), struct sd_node, rb); ^~~~~~~~ node.c: In function 'md_info': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ node.c:544:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, &sd_nroot, rb) { ^~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ cluster.c: In function 'cluster_format': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ cluster.c:106:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, &sd_nroot, rb) { ^~~~~~~~~~~~~~~~~ cluster.c: In function 'cluster_info': cluster.c:386:9: warning: cast increases required alignment of target type [-Wcast-align] log = (struct epoch_log *)next_log; ^ cluster.c:387:14: warning: cast increases required alignment of target type [-Wcast-align] last_log = (struct epoch_log *)((char *)log->nodes ^ In file included from ../include/fec.h:65:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ upgrade.c: In function 'get_zones_nr_from': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ upgrade.c:42:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ upgrade.c: In function 'alloc_vnode_info_from_epoch_file': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ upgrade.c:108:3: note: in expansion of macro 'rb_insert' rb_insert(&vinfo->nroot, &nodes[i], rb, node_cmp); ^~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ benchmark.c: In function 'benchmark_io_main': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ benchmark.c:54:12: note: in expansion of macro 'container_of' io_work = container_of(work, struct benchmark_io_work, work); ^~~~~~~~~~~~ benchmark.c: In function 'benchmark_io_worker': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ benchmark.c:65:12: note: in expansion of macro 'container_of' io_work = container_of(work, struct benchmark_io_work, work); ^~~~~~~~~~~~ Built dog gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 In file included from ../include/fec.h:65:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ farm/object_tree.c: In function 'do_insert': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ farm/object_tree.c:45:9: note: in expansion of macro 'rb_insert' return rb_insert(root, new, node, object_tree_cmp); ^~~~~~~~~ farm/object_tree.c: In function 'object_tree_print': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ farm/object_tree.c:74:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(entry, &tree.root, node) ^~~~~~~~~~~~~~~~~ farm/object_tree.c: In function 'object_tree_free': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(__dummy, root, member) { \ ^~~~~~~~~~~~~~~~~ farm/object_tree.c:80:2: note: in expansion of macro 'rb_destroy' rb_destroy(&tree.root, struct object_tree_entry, node); ^~~~~~~~~~ farm/object_tree.c: In function 'for_each_object_in_tree': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ farm/object_tree.c:97:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(entry, &tree.root, node) { ^~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 In file included from ../include/fec.h:65:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65:0, 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': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ farm/farm.c: In function 'add_active_vdi': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ farm/farm.c:92:8: note: in expansion of macro 'rb_insert' ret = rb_insert(&active_vdi_tree, vdi, rb, vdi_cmp); ^~~~~~~~~ farm/farm.c: In function 'register_vdi': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ farm/farm.c:113:8: note: in expansion of macro 'rb_search' ret = rb_search(®istered_vdi_tree, new, rb, registered_vdi_cmp); ^~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ farm/farm.c:121:2: note: in expansion of macro 'rb_insert' rb_insert(®istered_vdi_tree, new, rb, registered_vdi_cmp); ^~~~~~~~~ farm/farm.c: In function 'create_active_vdis': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ farm/farm.c:130:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(vdi, &active_vdi_tree, rb) { ^~~~~~~~~~~~~~~~~ farm/farm.c: In function 'do_save_object': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ farm/farm.c:266:7: note: in expansion of macro 'container_of' sw = container_of(work, struct snapshot_work, work); ^~~~~~~~~~~~ farm/farm.c: In function 'save_object_done': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ farm/farm.c:293:29: note: in expansion of macro 'container_of' struct snapshot_work *sw = container_of(work, struct snapshot_work, ^~~~~~~~~~~~ farm/farm.c: In function 'farm_save_snapshot': farm/farm.c:382:35: warning: cast increases required alignment of target type [-Wcast-align] if (trunk_file_write(nr_objects, (struct trunk_entry *)trunk_buf.buf, ^ In file included from ../include/fec.h:65:0, 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: farm/farm.c: In function 'do_load_object': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ farm/farm.c:411:7: note: in expansion of macro 'container_of' sw = container_of(work, struct snapshot_work, work); ^~~~~~~~~~~~ farm/farm.c: In function 'load_object_done': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ farm/farm.c:446:29: note: in expansion of macro 'container_of' struct snapshot_work *sw = container_of(work, struct snapshot_work, ^~~~~~~~~~~~ farm/farm.c: In function 'queue_load_snapshot_work': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ farm/farm.c:465:8: note: in expansion of macro 'rb_search' if (!rb_search(®istered_obj_tree, &key, rb, ^~~~~~~~~ farm/farm.c: In function 'do_register_obj': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ farm/farm.c:522:6: note: in expansion of macro 'rb_search' if (rb_search(®istered_obj_tree, new, rb, registered_obj_cmp)) { ^~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ farm/farm.c:527:2: note: in expansion of macro 'rb_insert' rb_insert(®istered_obj_tree, new, rb, registered_obj_cmp); ^~~~~~~~~ farm/farm.c: In function 'farm_load_snapshot': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(__dummy, root, member) { \ ^~~~~~~~~~~~~~~~~ farm/farm.c:581:2: note: in expansion of macro 'rb_destroy' rb_destroy(&active_vdi_tree, struct active_vdi_entry, rb); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(__dummy, root, member) { \ ^~~~~~~~~~~~~~~~~ farm/farm.c:582:2: note: in expansion of macro 'rb_destroy' rb_destroy(®istered_vdi_tree, struct registered_vdi_entry, rb); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(__dummy, root, member) { \ ^~~~~~~~~~~~~~~~~ farm/farm.c:583:2: note: in expansion of macro 'rb_destroy' rb_destroy(®istered_obj_tree, struct registered_obj_entry, rb); ^~~~~~~~~~ In file included from ../include/fec.h:65:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -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 -I../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -I../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -I../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -I../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ In file included from ../include/logger.h:20:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ In file included from sheep_priv.h:35:0, from group.c:12: ../include/sheep.h: In function 'node_disk_to_vnodes': In file included from sheep_priv.h:35:0, from gateway.c:13: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from gateway.c:13: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from group.c:12: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from sheep_priv.h:35:0, from group.c:12: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from sheep_priv.h:35:0, from gateway.c:13: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from group.c:12: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from gateway.c:13: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ cluster.h: In function 'find_cdrv': cluster.h: In function 'find_cdrv': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ In file included from ../include/logger.h:20:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ sheep_priv.h: In function 'find_store_driver': sheep_priv.h: In function 'find_store_driver': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ In file included from sheep_priv.h:35:0, from sheep.c:15: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from sheep.c:15: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from sheep_priv.h:35:0, from sheep.c:15: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from sheep.c:15: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ group.c: In function 'get_zones_nr_from': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ group.c:43:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ group.c: In function 'put_vnode_info': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(__dummy, root, member) { \ ^~~~~~~~~~~~~~~~~ group.c:99:4: note: in expansion of macro 'rb_destroy' rb_destroy(&vnode_info->vroot, struct sd_vnode, rb); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(__dummy, root, member) { \ ^~~~~~~~~~~~~~~~~ group.c:100:4: note: in expansion of macro 'rb_destroy' rb_destroy(&vnode_info->nroot, struct sd_node, rb); ^~~~~~~~~~ group.c: In function 'recalculate_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ group.c:113:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ group.c:125:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ In file included from sheep_priv.h:35:0, from request.c:14: ../include/sheep.h: In function 'node_disk_to_vnodes': cluster.h: In function 'find_cdrv': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ group.c: In function 'alloc_vnode_info': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ group.c:142:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ In file included from sheep_priv.h:35:0, from group.c:12: ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ group.c:145:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(&vnode_info->nroot, new, rb, node_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from request.c:14: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from sheep_priv.h:35:0, from request.c:14: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from group.c:12: group.c: In function 'get_vnode_info_epoch': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ group.c:177:3: note: in expansion of macro 'rb_insert' rb_insert(&nroot, &nodes[i], rb, node_cmp); ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from request.c:14: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': group.c: In function 'cluster_op_done': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ group.c:245:24: note: in expansion of macro 'container_of' struct request *req = container_of(work, struct request, work); ^~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ group.c: In function 'sd_block_handler': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' list_entry((head)->n.next, type, member) ^~~~~~~~~~ group.c:299:8: note: in expansion of macro 'list_first_entry' req = list_first_entry(main_thread_get(pending_block_list), ^~~~~~~~~~~~~~~~ group.c: In function 'epoch_log_read_remote': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ group.c:364:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(node, &vinfo->nroot, rb) { ^~~~~~~~~~~~~~~~~ group.c: In function 'enough_nodes_gathered': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ group.c:428:7: note: in expansion of macro 'rb_search' n = rb_search(nroot, key, rb, node_cmp); ^~~~~~~~~ cluster.h: In function 'find_cdrv': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ group.c: In function 'do_get_vdis': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ group.c:528:3: note: in expansion of macro 'container_of' container_of(work, struct get_vdis_work, work); ^~~~~~~~~~~~ sheep_priv.h: In function 'find_store_driver': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ group.c:552:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, &w->nroot, rb) { ^~~~~~~~~~~~~~~~~ group.c: In function 'get_vdis_done': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ group.c:584:3: note: in expansion of macro 'container_of' container_of(work, struct get_vdis_work, work); ^~~~~~~~~~~~ gateway.c: In function 'async_update_obj_refcnt_work': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(__dummy, root, member) { \ ^~~~~~~~~~~~~~~~~ group.c:591:2: note: in expansion of macro 'rb_destroy' rb_destroy(&w->nroot, struct sd_node, rb); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ gateway.c:760:3: note: in expansion of macro 'container_of' container_of(work, struct update_obj_refcnt_work, work); ^~~~~~~~~~~~ gateway.c: In function 'async_update_obj_refcnt_done': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ gateway.c:770:3: note: in expansion of macro 'container_of' container_of(work, struct update_obj_refcnt_work, work); ^~~~~~~~~~~~ group.c: In function 'alloc_old_vnode_info': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ group.c:638:7: note: in expansion of macro 'rb_insert' if (rb_insert(&old_root, new, rb, node_cmp)) ^~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(__dummy, root, member) { \ ^~~~~~~~~~~~~~~~~ group.c:643:2: note: in expansion of macro 'rb_destroy' rb_destroy(&old_root, struct sd_node, rb); ^~~~~~~~~~ group.c: In function 'get_vdis': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/rbtree.h:194:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(__src, root, member) { \ ^~~~~~~~~~~~~~~~~ group.c:683:2: note: in expansion of macro 'rb_copy' rb_copy(nroot, struct sd_node, rb, &w->nroot, node_cmp); ^~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/rbtree.h:197:3: note: in expansion of macro 'rb_insert' rb_insert(outroot, __dst, member, compar); \ ^~~~~~~~~ group.c:683:2: note: in expansion of macro 'rb_copy' rb_copy(nroot, struct sd_node, rb, &w->nroot, node_cmp); ^~~~~~~ group.c: In function 'cinfo_collection_work': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ group.c:736:3: note: in expansion of macro 'container_of' container_of(work, struct cinfo_collection_work, work); ^~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ group.c:745:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, &w->members->nroot, rb) { ^~~~~~~~~~~~~~~~~ sheep_priv.h: In function 'find_store_driver': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ group.c: In function 'free_cinfo': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ group.c:789:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, &w->members->nroot, rb) { ^~~~~~~~~~~~~~~~~ group.c: In function 'cinfo_collection_done': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ group.c:809:3: note: in expansion of macro 'container_of' container_of(work, struct cinfo_collection_work, work); ^~~~~~~~~~~~ group.c: In function 'membership_changed': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ group.c:904:7: note: in expansion of macro 'rb_search' n = rb_search(nroot, key, rb, node_cmp); ^~~~~~~~~ request.c: In function 'io_op_done': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ request.c:47:24: note: in expansion of macro 'container_of' struct request *req = container_of(work, struct request, work); ^~~~~~~~~~~~ request.c: In function 'gateway_op_done': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ request.c:97:24: note: in expansion of macro 'container_of' struct request *req = container_of(work, struct request, work); ^~~~~~~~~~~~ request.c: In function 'local_op_done': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ request.c:142:24: note: in expansion of macro 'container_of' struct request *req = container_of(work, struct request, work); ^~~~~~~~~~~~ group.c: In function 'sd_notify_handler': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' list_entry((head)->n.next, type, member) ^~~~~~~~~~ group.c:1018:10: note: in expansion of macro 'list_first_entry' req = list_first_entry( ^~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' list_entry((head)->n.next, type, member) ^~~~~~~~~~ group.c:1022:10: note: in expansion of macro 'list_first_entry' req = list_first_entry( ^~~~~~~~~~~~~~~~ request.c: In function 'wakeup_requests_on_epoch': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ request.c:216:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &pending_list, request_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ request.c:216:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &pending_list, request_list) { ^~~~~~~~~~~~~~~~~~~ group.c: In function 'requeue_cluster_request': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ request.c:216:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &pending_list, request_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ group.c:1103:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, main_thread_get(pending_notify_list), ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ group.c:1103:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, main_thread_get(pending_notify_list), ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ group.c:1103:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, main_thread_get(pending_notify_list), ^~~~~~~~~~~~~~~~~~~ request.c: In function 'wakeup_requests_on_oid': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ request.c:253:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &pending_list, request_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ group.c:1119:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, main_thread_get(pending_block_list), ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ request.c:253:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &pending_list, request_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ request.c:253:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &pending_list, request_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ group.c:1119:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, main_thread_get(pending_block_list), ^~~~~~~~~~~~~~~~~~~ request.c: In function 'wakeup_all_requests': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ request.c:269:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &pending_list, request_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ request.c:269:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &pending_list, request_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ group.c:1119:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, main_thread_get(pending_block_list), ^~~~~~~~~~~~~~~~~~~ sheep.c: In function 'main': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ request.c:269:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &pending_list, request_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ sheep.c:792:5: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ sheep.c:792:5: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ sheep.c:792:5: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ group.c: In function 'sd_accept_handler': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ group.c:1238:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ group.c: In function 'is_gateway_only_cluster': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ group.c:1265:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ group.c: In function 'sd_leave_handler': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ group.c:1281:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ group.c: In function 'update_node_info': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ group.c:1321:22: note: in expansion of macro 'rb_search' struct sd_node *n = rb_search(&cur_vinfo->nroot, node, rb, node_cmp); ^~~~~~~~~ request.c: In function 'local_req_async_work': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ request.c:609:27: note: in expansion of macro 'container_of' struct areq_work *areq = container_of(work, struct areq_work, work); ^~~~~~~~~~~~ request.c: In function 'local_req_async_main': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ request.c:616:27: note: in expansion of macro 'container_of' struct areq_work *areq = container_of(work, struct areq_work, work); ^~~~~~~~~~~~ request.c: In function 'rx_work': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ request.c:744:27: note: in expansion of macro 'container_of' struct client_info *ci = container_of(work, struct client_info, ^~~~~~~~~~~~ request.c: In function 'rx_main': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ request.c:783:27: note: in expansion of macro 'container_of' struct client_info *ci = container_of(work, struct client_info, ^~~~~~~~~~~~ request.c: In function 'tx_work': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ request.c:823:27: note: in expansion of macro 'container_of' struct client_info *ci = container_of(work, struct client_info, ^~~~~~~~~~~~ request.c: In function 'tx_main': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ request.c:853:27: note: in expansion of macro 'container_of' struct client_info *ci = container_of(work, struct client_info, ^~~~~~~~~~~~ request.c: In function 'clear_client_info': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ request.c:904:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &ci->done_reqs, request_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ request.c:904:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &ci->done_reqs, request_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ request.c:904:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &ci->done_reqs, request_list) { ^~~~~~~~~~~~~~~~~~~ request.c: In function 'client_handler': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' list_entry((head)->n.next, type, member) ^~~~~~~~~~ request.c:1003:16: note: in expansion of macro 'list_first_entry' ci->tx_req = list_first_entry(&ci->done_reqs, struct request, ^~~~~~~~~~~~~~~~ request.c: In function 'unregister_listening_fds': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ request.c:1085:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(fd, &listening_fd_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ request.c:1085:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(fd, &listening_fd_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ request.c:1085:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(fd, &listening_fd_list, list) { ^~~~~~~~~~~~~~~~~~~ request.c: In function 'local_req_handler': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ request.c:1133:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &pending_list, request_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ request.c:1133:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &pending_list, request_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ request.c:1133:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(req, &pending_list, request_list) { ^~~~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ In file included from sheep_priv.h:35:0, from vdi.c:12: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from vdi.c:12: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from sheep_priv.h:35:0, from vdi.c:12: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from vdi.c:12: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ cluster.h: In function 'find_cdrv': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ sheep_priv.h: In function 'find_store_driver': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ vdi.c: In function 'lookup_vdi_family_member': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ vdi.c:64:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &family_member->child_list_head, ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ vdi.c:64:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &family_member->child_list_head, ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ vdi.c:64:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &family_member->child_list_head, ^~~~~~~~~~~~~~~~~~~ vdi.c: In function 'update_vdi_family': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ vdi.c:110:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &vdi_family_roots, roots_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ vdi.c:110:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &vdi_family_roots, roots_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ vdi.c:110:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &vdi_family_roots, roots_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ vdi.c:137:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &vdi_family_temporal_orphans, ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ vdi.c:137:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &vdi_family_temporal_orphans, ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ vdi.c:137:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(vdi, &vdi_family_temporal_orphans, ^~~~~~~~~~~~~~~~~~~ vdi.c: In function 'is_all_members_deleted': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ vdi.c:170:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(child, &member->child_list_head, child_list_node) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ vdi.c:170:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(child, &member->child_list_head, child_list_node) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ vdi.c:170:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(child, &member->child_list_head, child_list_node) { ^~~~~~~~~~~~~~~~~~~ vdi.c: In function 'vdi_state_search': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ vdi.c:209:9: note: in expansion of macro 'rb_search' return rb_search(root, &key, node, vdi_state_cmp); ^~~~~~~~~ vdi.c: In function 'vdi_state_insert': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ vdi.c:215:9: note: in expansion of macro 'rb_insert' return rb_insert(root, new, node, vdi_state_cmp); ^~~~~~~~~ vdi.c: In function 'fill_vdi_state_list': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ vdi.c:418:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(entry, &vdi_state_root, node) { ^~~~~~~~~~~~~~~~~ vdi.c: In function 'fill_vdi_state_list_with_alloc': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ vdi.c:462:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(entry, &vdi_state_root, node) { ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ vdi.c:467:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(entry, &vdi_state_root, node) { ^~~~~~~~~~~~~~~~~ vdi.c: In function 'play_logged_vdi_ops': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ vdi.c:849:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(op, &logged_vdi_ops, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ vdi.c:849:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(op, &logged_vdi_ops, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ vdi.c:849:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(op, &logged_vdi_ops, list) { ^~~~~~~~~~~~~~~~~~~ vdi.c: In function 'remove_node_from_participants': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ vdi.c:1066:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(entry, &vdi_state_root, node) { ^~~~~~~~~~~~~~~~~ vdi.c: In function 'delete_vdi_work': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ vdi.c:1760:3: note: in expansion of macro 'container_of' container_of(work, struct deletion_work, work); ^~~~~~~~~~~~ vdi.c: In function 'delete_vdi_done': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ vdi.c:1826:3: note: in expansion of macro 'container_of' container_of(work, struct deletion_work, work); ^~~~~~~~~~~~ vdi.c: In function 'clean_family': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ vdi.c:1990:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(child, &member->child_list_head, child_list_node) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ vdi.c:1990:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(child, &member->child_list_head, child_list_node) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ vdi.c:1990:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(child, &member->child_list_head, child_list_node) { ^~~~~~~~~~~~~~~~~~~ vdi.c: In function 'clean_vdi_state': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(__dummy, root, member) { \ ^~~~~~~~~~~~~~~~~ vdi.c:2006:2: note: in expansion of macro 'rb_destroy' rb_destroy(&vdi_state_root, struct vdi_state_entry, node); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ vdi.c:2012:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(member, &vdi_family_roots, roots_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ vdi.c:2012:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(member, &vdi_family_roots, roots_list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ vdi.c:2012:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(member, &vdi_family_roots, roots_list) { ^~~~~~~~~~~~~~~~~~~ vdi.c: In function 'create_vdi_state_checkpoint': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ vdi.c:2118:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ vdi.c:2118:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ vdi.c:2118:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { ^~~~~~~~~~~~~~~~~~~ vdi.c: In function 'get_vdi_state_checkpoint': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ vdi.c:2142:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ vdi.c:2142:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ vdi.c:2142:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { ^~~~~~~~~~~~~~~~~~~ vdi.c: In function 'free_vdi_state_checkpoint': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ vdi.c:2170:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ vdi.c:2170:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ vdi.c:2170:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(checkpoint, &vdi_state_checkpoint_list, list) { ^~~~~~~~~~~~~~~~~~~ vdi.c: In function 'do_vid_gc': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ vdi.c:2214:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(child, &member->child_list_head, child_list_node) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ vdi.c:2214:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(child, &member->child_list_head, child_list_node) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ vdi.c:2214:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(child, &member->child_list_head, child_list_node) { ^~~~~~~~~~~~~~~~~~~ In file included from ../include/logger.h:20:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ In file included from sheep_priv.h:35:0, from journal.c:14: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from journal.c:14: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from sheep_priv.h:35:0, from journal.c:14: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from journal.c:14: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ cluster.h: In function 'find_cdrv': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ sheep_priv.h: In function 'find_store_driver': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ In file included from ../include/logger.h:20:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ journal.c: In function 'journal_entry_full_write': journal.c:129:23: warning: cast increases required alignment of target type [-Wcast-align] uint32_t marker = *(((uint32_t *)end) - 1); ^ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ In file included from sheep_priv.h:35:0, from ops.c:12: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from ops.c:12: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from sheep_priv.h:35:0, from ops.c:12: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from ops.c:12: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ cluster.h: In function 'find_cdrv': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ sheep_priv.h: In function 'find_store_driver': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ops.c: In function 'get_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ops.c:256:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(node, &vinfo->nroot, rb) { ^~~~~~~~~~~~~~~~~ ops.c: In function 'local_get_store_list': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ ops.c:424:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ ops.c:424:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ ops.c:424:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ops.c: In function 'local_stat_cluster': ops.c:492:10: warning: cast increases required alignment of target type [-Wcast-align] elog = (struct epoch_log *)next_elog; ^ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from ops.c:12: ops.c: In function 'cluster_force_recover_main': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ops.c:637:3: note: in expansion of macro 'rb_insert' rb_insert(&nroot, &nodes[i], rb, node_cmp); ^~~~~~~~~ ops.c: In function 'cluster_recovery_completion': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ops.c:739:9: note: in expansion of macro 'rb_search' if (!rb_search(&vnode_info->nroot, &recovereds[i], ^~~~~~~~~ ops.c: In function 'local_oids_exist': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ops.c:1076:22: note: in expansion of macro 'container_of' struct request *r = container_of(req, struct request, rq); ^~~~~~~~~~~~ ops.c: In function 'do_process_work': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ops.c:1988:24: note: in expansion of macro 'container_of' struct request *req = container_of(work, struct request, work); ^~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ In file included from sheep_priv.h:35:0, from recovery.c:13: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from recovery.c:13: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from sheep_priv.h:35:0, from recovery.c:13: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from recovery.c:13: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ cluster.h: In function 'find_cdrv': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ sheep_priv.h: In function 'find_store_driver': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ recovery.c: In function 'rollback_vnode_info': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ recovery.c:139:5: note: in expansion of macro 'rb_insert' rb_insert(&nroot, &nodes[i], rb, node_cmp); ^~~~~~~~~ recovery.c: In function 'invalid_node': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ recovery.c:155:6: note: in expansion of macro 'rb_search' if (rb_search(&info->nroot, n, rb, node_cmp)) ^~~~~~~~~ recovery.c: In function 'search_erasure_object': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ recovery.c:171:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ recovery.c: In function 'recover_object_wildcard': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ recovery.c:399:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, &old->nroot, rb) { ^~~~~~~~~~~~~~~~~ recovery.c: In function 'recover_object_work': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ recovery.c:610:29: note: in expansion of macro 'container_of' struct recovery_work *rw = container_of(work, struct recovery_work, ^~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ recovery.c:612:34: note: in expansion of macro 'container_of' struct recovery_obj_work *row = container_of(rw, ^~~~~~~~~~~~ recovery.c: In function 'direct_recover_object_main': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ recovery.c:649:29: note: in expansion of macro 'container_of' struct recovery_work *rw = container_of(work, struct recovery_work, ^~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ recovery.c:651:34: note: in expansion of macro 'container_of' struct recovery_obj_work *row = container_of(rw, ^~~~~~~~~~~~ recovery.c: In function 'notify_recovery_completion_work': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ recovery.c:821:29: note: in expansion of macro 'container_of' struct recovery_work *rw = container_of(work, struct recovery_work, ^~~~~~~~~~~~ recovery.c: In function 'notify_recovery_completion_main': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ recovery.c:838:29: note: in expansion of macro 'container_of' struct recovery_work *rw = container_of(work, struct recovery_work, ^~~~~~~~~~~~ recovery.c: In function 'recover_object_main': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ recovery.c:978:29: note: in expansion of macro 'container_of' struct recovery_work *rw = container_of(work, struct recovery_work, ^~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ recovery.c:980:34: note: in expansion of macro 'container_of' struct recovery_obj_work *row = container_of(rw, ^~~~~~~~~~~~ recovery.c: In function 'finish_object_list': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ recovery.c:1030:29: note: in expansion of macro 'container_of' struct recovery_work *rw = container_of(work, struct recovery_work, ^~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ recovery.c:1032:35: note: in expansion of macro 'container_of' struct recovery_list_work *rlw = container_of(rw, ^~~~~~~~~~~~ recovery.c: In function 'check_diskfull_possibility': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ recovery.c:1213:8: note: in expansion of macro 'rb_search' if (rb_search(&seen_objects, key, node, ^~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ recovery.c:1218:4: note: in expansion of macro 'rb_insert' rb_insert(&seen_objects, key, node, seen_object_cmp); ^~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(__dummy, root, member) { \ ^~~~~~~~~~~~~~~~~ recovery.c:1242:2: note: in expansion of macro 'rb_destroy' rb_destroy(&seen_objects, struct seen_object_entry, node); ^~~~~~~~~~ recovery.c: In function 'prepare_object_list': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ recovery.c:1269:29: note: in expansion of macro 'container_of' struct recovery_work *rw = container_of(work, struct recovery_work, ^~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ recovery.c:1271:35: note: in expansion of macro 'container_of' struct recovery_list_work *rlw = container_of(rw, ^~~~~~~~~~~~ In file included from ../include/logger.h:20:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ In file included from sheep_priv.h:35:0, from object_list_cache.c:14: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from object_list_cache.c:14: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from sheep_priv.h:35:0, from object_list_cache.c:14: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from object_list_cache.c:14: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ cluster.h: In function 'find_cdrv': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ sheep_priv.h: In function 'find_store_driver': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ object_list_cache.c: In function 'objlist_cache_rb_insert': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ object_list_cache.c:50:9: note: in expansion of macro 'rb_insert' return rb_insert(root, new, node, objlist_cache_cmp); ^~~~~~~~~ object_list_cache.c: In function 'objlist_cache_rb_remove': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ object_list_cache.c:57:10: note: in expansion of macro 'rb_search' entry = rb_search(root, &key, node, objlist_cache_cmp); ^~~~~~~~~ object_list_cache.c: In function 'get_obj_list': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ object_list_cache.c:127:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(entry, &obj_list_cache.root, node) { ^~~~~~~~~~~~~~~~~ object_list_cache.c: In function 'objlist_deletion_work': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ object_list_cache.c:149:3: note: in expansion of macro 'container_of' container_of(work, struct objlist_deletion_work, work); ^~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ object_list_cache.c:167:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(entry, &obj_list_cache.root, node) { ^~~~~~~~~~~~~~~~~ object_list_cache.c: In function 'objlist_deletion_done': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ object_list_cache.c:186:3: note: in expansion of macro 'container_of' container_of(work, struct objlist_deletion_work, work); ^~~~~~~~~~~~ object_list_cache.c: In function 'objlist_cache_format': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(__dummy, root, member) { \ ^~~~~~~~~~~~~~~~~ object_list_cache.c:214:2: note: in expansion of macro 'rb_destroy' rb_destroy(&obj_list_cache.root, struct objlist_cache_entry, node); ^~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -I../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ In file included from sheep_priv.h:35:0, from config.c:12: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from config.c:12: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from sheep_priv.h:35:0, from config.c:12: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from config.c:12: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ cluster.h: In function 'find_cdrv': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ sheep_priv.h: In function 'find_store_driver': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 Built sheep gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 In file included from ../include/logger.h:20:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ In file included from sheep_priv.h:35:0, from migrate.c:12: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from migrate.c:12: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from sheep_priv.h:35:0, from migrate.c:12: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from sheep_priv.h:35, from migrate.c:12: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ cluster.h: In function 'find_cdrv': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ sheep_priv.h: In function 'find_store_driver': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ migrate.c: In function 'update_epoch_from_v0_to_v1': migrate.c:246:6: warning: cast increases required alignment of target type [-Wcast-align] t = (time_t *)&nodes_v0[nr_nodes]; ^ In file included from ../include/fec.h:65:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ ./cluster.h: In function 'find_cdrv': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 In file included from ../include/fec.h:65:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ ./sheep_priv.h: In function 'find_store_driver': ./cluster.h: In function 'find_cdrv': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ ./sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ ./sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ ./sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ cluster/local.c: In function 'node_insert': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ cluster/local.c:121:6: note: in expansion of macro 'rb_insert' if (rb_insert(root, new, rb, node_cmp)) ^~~~~~~~~ cluster/corosync.c: In function 'corosync_get_local_addr': cluster/corosync.c:131:32: warning: cast increases required alignment of target type [-Wcast-align] struct sockaddr_storage *ss = (struct sockaddr_storage *)caddr.address; ^ cluster/corosync.c:132:29: warning: cast increases required alignment of target type [-Wcast-align] struct sockaddr_in *sin4 = (struct sockaddr_in *)caddr.address; ^ cluster/corosync.c:133:30: warning: cast increases required alignment of target type [-Wcast-align] struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)caddr.address; ^ In file included from ../include/fec.h:65:0, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from ./cluster.h:23, from cluster/corosync.c:17: cluster/corosync.c: In function 'find_block_event': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ cluster/corosync.c:209:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(cevent, &corosync_block_event_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ cluster/corosync.c:209:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(cevent, &corosync_block_event_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ cluster/corosync.c:209:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(cevent, &corosync_block_event_list, list) { ^~~~~~~~~~~~~~~~~~~ cluster/corosync.c: In function 'find_nonblock_event': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ cluster/corosync.c:223:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(cevent, &corosync_nonblock_event_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ cluster/corosync.c:223:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(cevent, &corosync_nonblock_event_list, list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ cluster/corosync.c:223:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(cevent, &corosync_nonblock_event_list, list) { ^~~~~~~~~~~~~~~~~~~ cluster/corosync.c: In function 'build_node_list': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ cluster/corosync.c:245:3: note: in expansion of macro 'rb_insert' rb_insert(nroot, &nodes[i].node, rb, node_cmp); ^~~~~~~~~ cluster/corosync.c: In function '__corosync_dispatch': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' list_entry((head)->n.next, type, member) ^~~~~~~~~~ cluster/corosync.c:363:13: note: in expansion of macro 'list_first_entry' cevent = list_first_entry(&corosync_nonblock_event_list, ^~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' list_entry((head)->n.next, type, member) ^~~~~~~~~~ cluster/corosync.c:366:13: note: in expansion of macro 'list_first_entry' cevent = list_first_entry(&corosync_block_event_list, ^~~~~~~~~~~~~~~~ cluster/local.c: In function 'lock_tree_lookup': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ cluster/local.c:663:9: note: in expansion of macro 'rb_search' return rb_search(&lock_tree_root, &entry, rb, lock_cmp); ^~~~~~~~~ cluster/local.c: In function 'lock_tree_add': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ cluster/local.c:668:9: note: in expansion of macro 'rb_insert' return rb_insert(&lock_tree_root, new, rb, lock_cmp); ^~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 In file included from ../include/logger.h:20:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ In file included from ./sheep_priv.h:35:0, from store/common.c:15: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from ./sheep_priv.h:35, from store/common.c:15: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from ./sheep_priv.h:35:0, from store/common.c:15: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from ./sheep_priv.h:35, from store/common.c:15: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ ./cluster.h: In function 'find_cdrv': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ./sheep_priv.h: In function 'find_store_driver': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ ./sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ ./sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ ./sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ In file included from ../include/logger.h:20:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ In file included from ./sheep_priv.h:35:0, from store/md.c:14: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from ./sheep_priv.h:35, from store/md.c:14: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from ./sheep_priv.h:35:0, from store/md.c:14: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from ./sheep_priv.h:35, from store/md.c:14: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ ./cluster.h: In function 'find_cdrv': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ./sheep_priv.h: In function 'find_store_driver': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ ./sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ ./sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ ./sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ store/md.c: In function 'vdisk_insert': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ store/md.c:54:9: note: in expansion of macro 'rb_insert' return rb_insert(&md.vroot, new, rb, vdisk_cmp); ^~~~~~~~~ store/md.c: In function 'hval_to_vdisk': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ store/md.c:62:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(&md.vroot, &dummy, rb, vdisk_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ store/md.c:62:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(&md.vroot, &dummy, rb, vdisk_cmp); ^~~~~~~~~~ store/md.c: In function 'path_to_disk': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ store/md.c:142:9: note: in expansion of macro 'rb_search' return rb_search(&md.root, &key, rb, disk_cmp); ^~~~~~~~~ store/md.c: In function 'md_add_disk': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ store/md.c:363:2: note: in expansion of macro 'rb_insert' rb_insert(&md.root, new, rb, disk_cmp); ^~~~~~~~~ store/md.c: In function 'for_each_object_in_wd': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ store/md.c:446:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(disk, &md.root, rb) { ^~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ store/md.c:455:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(disk, &md.root, rb) { ^~~~~~~~~~~~~~~~~ store/md.c: In function 'for_each_object_in_stale': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ store/md.c:510:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(disk, &md.root, rb) { ^~~~~~~~~~~~~~~~~ store/md.c: In function 'for_each_obj_path': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ store/md.c:527:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(disk, &md.root, rb) { ^~~~~~~~~~~~~~~~~ store/md.c: In function 'md_do_recover': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ store/md.c:555:23: note: in expansion of macro 'container_of' struct md_work *mw = container_of(work, struct md_work, work); ^~~~~~~~~~~~ store/md.c: In function 'scan_wd': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ store/md.c:717:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(disk, &md.root, rb) { ^~~~~~~~~~~~~~~~~ store/md.c: In function 'md_get_info': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ store/md.c:774:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(disk, &md.root, rb) { ^~~~~~~~~~~~~~~~~ store/md.c: In function 'md_get_size': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ store/md.c:891:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(disk, &md.root, rb) { ^~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../sheep/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ In file included from ./sheep_priv.h:35:0, from store/plain_store.c:14: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from ./sheep_priv.h:35, from store/plain_store.c:14: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from ./sheep_priv.h:35:0, from store/plain_store.c:14: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from ./sheep_priv.h:35, from store/plain_store.c:14: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ ./cluster.h: In function 'find_cdrv': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ./sheep_priv.h: In function 'find_store_driver': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ ./sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ ./sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ ./sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ In file included from ../include/logger.h:20:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ In file included from ./sheep_priv.h:35:0, from store/tree_store.c:14: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from ./sheep_priv.h:35, from store/tree_store.c:14: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ In file included from ./sheep_priv.h:35:0, from store/tree_store.c:14: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ In file included from ../include/logger.h:20:0, from ../include/util.h:61, from ./sheep_priv.h:35, from store/tree_store.c:14: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ ./cluster.h: In function 'find_cdrv': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ ./cluster.h:167:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &cluster_drivers, list) ^~~~~~~~~~~~~~~~~~~ ./cluster.h:174:2: note: in expansion of macro 'FOR_EACH_CLUSTER_DRIVER' FOR_EACH_CLUSTER_DRIVER(cdrv) { ^~~~~~~~~~~~~~~~~~~~~~~ ./sheep_priv.h: In function 'find_store_driver': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ ./sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ ./sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ ./sheep_priv.h:317:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(driver, &store_drivers, list) { ^~~~~~~~~~~~~~~~~~~ store/md.c: In function 'for_each_object_in_stale': store/md.c:511:35: warning: '/.stale' directive output may be truncated writing 7 bytes into a region of size between 1 and 4096 [-Wformat-truncation=] snprintf(path, sizeof(path), "%s/.stale", disk->path); ^~~~~~~ In file included from /usr/include/stdio.h:861:0, from ../include/util.h:4, from ./sheep_priv.h:35, from store/md.c:14: /usr/include/bits/stdio2.h:67:10: note: '__builtin___snprintf_chk' output between 8 and 4103 bytes into a destination of size 4096 return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ __bos (__s), __fmt, __va_arg_pack ()); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -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 -lqb -ldl -lcorosync_common -lrt -lrt libtool: link: gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -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 -lqb -ldl -lcorosync_common -lrt /usr/bin/ld: warning: /lib64/lp64d/libqb.so contains output sections; did you forget -T? 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.service != "sheepdog.service" ]; then chmod 0755 sheepdog.service-t; fi if [ sheepdog != "sheepdog.service" ]; then chmod 0755 sheepdog-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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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:0, from ../include/internal_proto.h:25, from shepherd.c:31: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ shepherd.c: In function 'build_node_array': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ shepherd.c:81:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ shepherd.c:81:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ shepherd.c:81:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ shepherd.c: In function 'find_sheep_by_nid': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ shepherd.c:95:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ shepherd.c:95:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ shepherd.c:95:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ shepherd.c: In function 'notify_remove_sheep': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ shepherd.c:125:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ shepherd.c:125:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ shepherd.c:125:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ shepherd.c: In function 'remove_handler': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ shepherd.c:152:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ shepherd.c:152:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ shepherd.c:152:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ shepherd.c: In function 'release_joining_sheep': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' list_entry((head)->n.next, type, member) ^~~~~~~~~~ shepherd.c:207:12: note: in expansion of macro 'list_first_entry' waiting = list_first_entry(&join_wait_queue, ^~~~~~~~~~~~~~~~ shepherd.c: In function 'sph_handle_accept': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ shepherd.c:361:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ shepherd.c:361:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ shepherd.c:361:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ shepherd.c: In function 'sph_handle_notify': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ shepherd.c:424:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ shepherd.c:424:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ shepherd.c:424:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ shepherd.c: In function 'sph_handle_block': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ shepherd.c:458:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ shepherd.c:458:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ shepherd.c:458:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ shepherd.c: In function 'sph_handle_leave': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ ^~~~~~~~~~ shepherd.c:492:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' list_entry(pos->member.next, \ ^~~~~~~~~~ shepherd.c:492:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ ^~~~~~~~~~ shepherd.c:492:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(s, &sheep_list_head, sheep_list) { ^~~~~~~~~~~~~~~~~~~ /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o shepherd shepherd.o ../lib/libsd.a -lpthread -lrt libtool: link: gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 Built sheepfs In file included from ../include/fec.h:65:0, 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:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' __ret = rb_entry(rb_first(root), typeof(*key), member); \ ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' return rb_nsearch(root, &dummy, rb, vnode_cmp); ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' next = rb_entry(rb_first(root), struct sd_vnode, rb); ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' #define unlikely(x) __builtin_expect(!!(x), 0) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(n, nroot, rb) { ^~~~~~~~~~~~~~~~~ volume.c: In function 'vdi_inode_tree_insert': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' __data = rb_entry(*__n, typeof(*new), member); \ ^~~~~~~~ volume.c:80:9: note: in expansion of macro 'rb_insert' return rb_insert(&vdi_inode_tree, new, rb, vdi_inode_cmp); ^~~~~~~~~ volume.c: In function 'vdi_inode_tree_search': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' __data = rb_entry(__n, typeof(*key), member); \ ^~~~~~~~ volume.c:87:9: note: in expansion of macro 'rb_search' return rb_search(&vdi_inode_tree, &key, rb, vdi_inode_cmp); ^~~~~~~~~ volume.c: In function 'reset_socket_pool': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] (type *)((char *)__mptr - offsetof(type, member)); }) ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' #define rb_entry(ptr, type, member) container_of(ptr, type, member) ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ ^~~~~~~~ volume.c:384:2: note: in expansion of macro 'rb_for_each_entry' rb_for_each_entry(vdi, &vdi_inode_tree, rb) { ^~~~~~~~~~~~~~~~~ /bin/sh ../libtool --tag=CC --mode=link gcc -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -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 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -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 -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o sheepfs core.o cluster.o vdi.o shadow_file.o volume.o node.o config.o -pthread ../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' + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.sfTMG3 + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64 ++ dirname /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64 + cd sheepdog-1.0.1 + rm -rf /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64 + make install DESTDIR=/builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.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-5.fc28.riscv64/usr/lib64' /usr/bin/install -c -m 644 libsheepdog.a '/builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64/usr/lib64' ( cd '/builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64/usr/lib64' && ranlib libsheepdog.a ) /usr/bin/mkdir -p '/builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64/usr/lib64' /bin/sh ../libtool --mode=install /usr/bin/install -c libsheepdog.la '/builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64/usr/lib64' libtool: install: /usr/bin/install -c .libs/libsheepdog.so /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64/usr/lib64/libsheepdog.so libtool: install: /usr/bin/install -c .libs/libsheepdog.lai /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.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-5.fc28.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-5.fc28.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-5.fc28.riscv64/usr/bin' /bin/sh ../libtool --mode=install /usr/bin/install -c dog '/builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64/usr/bin' libtool: install: /usr/bin/install -c dog /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.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-5.fc28.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-5.fc28.riscv64/usr/sbin' /bin/sh ../libtool --mode=install /usr/bin/install -c sheep '/builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64/usr/sbin' libtool: install: /usr/bin/install -c sheep /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.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-5.fc28.riscv64/etc/bash_completion.d' /usr/bin/install -c -m 644 dog '/builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64/etc/bash_completion.d' /usr/bin/mkdir -p '/builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64no' /usr/bin/install -c sheepdog '/builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.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-5.fc28.riscv64/usr/sbin' /bin/sh ../libtool --mode=install /usr/bin/install -c shepherd '/builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64/usr/sbin' libtool: install: /usr/bin/install -c shepherd /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.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-5.fc28.riscv64/usr/sbin' /bin/sh ../libtool --mode=install /usr/bin/install -c sheepfs '/builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64/usr/sbin' libtool: install: /usr/bin/install -c sheepfs /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.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-5.fc28.riscv64/usr/share/man/man8' /usr/bin/install -c -m 644 sheep.8 dog.8 sheepfs.8 '/builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.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-5.fc28.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-5.fc28.riscv64//usr/lib64/libsheepdog.la + rm -f /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64//usr/lib64/libsheepdog.a + mkdir -p /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64//usr/lib/systemd/system + cp -a /builddir/build/SOURCES/sheepdog.service /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64//usr/lib/systemd/system/ + cp -a /builddir/build/SOURCES/sheepdog.timer /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64//usr/lib/systemd/system/ + mkdir -p /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64//etc/sysconfig + cp -a /builddir/build/SOURCES/sheepdog /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64//etc/sysconfig + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig /sbin/ldconfig: Warning: ignoring configuration file that cannot be opened: /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64/etc/ld.so.conf: No such file or directory + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1 + /usr/lib/rpm/brp-python-hardlink + /usr/lib/rpm/redhat/brp-mangle-shebangs Processing files: sheepdog-1.0.1-5.fc28.riscv64 Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.3CGfrb + umask 022 + cd /builddir/build/BUILD + cd sheepdog-1.0.1 + DOCDIR=/builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64/usr/share/doc/sheepdog + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64/usr/share/doc/sheepdog + cp -pr COPYING /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64/usr/share/doc/sheepdog + cp -pr README /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64/usr/share/doc/sheepdog + exit 0 Provides: config(sheepdog) = 1.0.1-5.fc28 sheepdog = 1.0.1-5.fc28 sheepdog(riscv-64) = 1.0.1-5.fc28 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) libcfg.so.6()(64bit) libcfg.so.6(COROSYNC_CFG_0.82)(64bit) libcorosync_common.so.4()(64bit) libcpg.so.4()(64bit) libcpg.so.4(COROSYNC_CPG_1.0)(64bit) libdl.so.2()(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) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.27)(64bit) libqb.so.0()(64bit) librt.so.1()(64bit) rtld(GNU_HASH) Processing files: sheepdog-devel-1.0.1-5.fc28.riscv64 Provides: sheepdog-devel = 1.0.1-5.fc28 sheepdog-devel(riscv-64) = 1.0.1-5.fc28 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-5.fc28.riscv64 Provides: libsheepdog.so()(64bit) sheepdog-libs = 1.0.1-5.fc28 sheepdog-libs(riscv-64) = 1.0.1-5.fc28 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) librt.so.1()(64bit) rtld(GNU_HASH) Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64 Wrote: /builddir/build/SRPMS/sheepdog-1.0.1-5.fc28.src.rpm Wrote: /builddir/build/RPMS/riscv64/sheepdog-1.0.1-5.fc28.riscv64.rpm Wrote: /builddir/build/RPMS/riscv64/sheepdog-devel-1.0.1-5.fc28.riscv64.rpm Wrote: /builddir/build/RPMS/riscv64/sheepdog-libs-1.0.1-5.fc28.riscv64.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.n7Hngw + umask 022 + cd /builddir/build/BUILD + cd sheepdog-1.0.1 + rm -rf /builddir/build/BUILDROOT/sheepdog-1.0.1-5.fc28.riscv64 + exit 0 + touch /buildok + cleanup + set +e + sync + sleep 5 + sync + poweroff Terminated ++ cleanup ++ set +e ++ sync Terminated +++ cleanup +++ set +e +++ sync +++ sleep 5 +++ sync +++ poweroff