<86>Nov  9 09:17:12 userdel[373468]: delete user 'rooter'
<86>Nov  9 09:17:12 userdel[373468]: removed group 'rooter' owned by 'rooter'
<86>Nov  9 09:17:12 userdel[373468]: removed shadow group 'rooter' owned by 'rooter'
<86>Nov  9 09:17:12 groupadd[373488]: group added to /etc/group: name=rooter, GID=1817
<86>Nov  9 09:17:12 groupadd[373488]: group added to /etc/gshadow: name=rooter
<86>Nov  9 09:17:12 groupadd[373488]: new group: name=rooter, GID=1817
<86>Nov  9 09:17:12 useradd[373496]: new user: name=rooter, UID=1817, GID=1817, home=/root, shell=/bin/bash, from=none
<86>Nov  9 09:17:12 userdel[373512]: delete user 'builder'
<86>Nov  9 09:17:12 userdel[373512]: removed group 'builder' owned by 'builder'
<86>Nov  9 09:17:12 userdel[373512]: removed shadow group 'builder' owned by 'builder'
<86>Nov  9 09:17:12 groupadd[373525]: group added to /etc/group: name=builder, GID=1818
<86>Nov  9 09:17:12 groupadd[373525]: group added to /etc/gshadow: name=builder
<86>Nov  9 09:17:12 groupadd[373525]: new group: name=builder, GID=1818
<86>Nov  9 09:17:12 useradd[373533]: new user: name=builder, UID=1818, GID=1818, home=/usr/src, shell=/bin/bash, from=none
<13>Nov  9 09:17:16 rpmi: libcom_err-1.46.4.0.5.4cda-alt1 sisyphus+283826.100.1.1 1629975361 installed
<13>Nov  9 09:17:16 rpmi: liburing-2.8-alt1 sisyphus+361652.600.6.1 1730879698 installed
<13>Nov  9 09:17:16 rpmi: libkeyutils-1.6.3-alt1 sisyphus+346336.200.2.2 1716472658 installed
<13>Nov  9 09:17:16 rpmi: libnettle8-3.9.1-alt1 sisyphus+322548.100.1.2 1686176897 installed
<13>Nov  9 09:17:16 rpmi: seavgabios-1.16.3-alt3 sisyphus+339925.100.2.1 1707235821 installed
<13>Nov  9 09:17:16 rpmi: ipxe-roms-qemu-1:20240725-alt1.gitd2d194bc sisyphus+353669.100.1.1 1721997598 installed
<13>Nov  9 09:17:16 rpmi: mount-2.39.2-alt1 sisyphus+327286.4500.14.1 1711486360 installed
<13>Nov  9 09:17:16 rpmi: lsblk-2.39.2-alt1 sisyphus+327286.4500.14.1 1711486360 installed
<13>Nov  9 09:17:16 rpmi: libp11-kit-1:0.25.5-alt1 sisyphus+352553.100.1.1 1720622586 installed
<13>Nov  9 09:17:16 rpmi: libtasn1-4.19.0-alt3 sisyphus+327816.100.1.1 1692802618 installed
<13>Nov  9 09:17:17 rpmi: edk2-ovmf-20240811-alt2 sisyphus+361018.100.1.1 1730136810 installed
<13>Nov  9 09:17:17 rpmi: libhogweed6-3.9.1-alt1 sisyphus+322548.100.1.2 1686176897 installed
<13>Nov  9 09:17:17 rpmi: libe2fs-1.46.4.0.5.4cda-alt1 sisyphus+283826.100.1.1 1629975361 installed
<13>Nov  9 09:17:17 rpmi: libss-1.46.4.0.5.4cda-alt1 sisyphus+283826.100.1.1 1629975361 installed
<13>Nov  9 09:17:17 rpmi: e2fsprogs-1.46.4.0.5.4cda-alt1 sisyphus+283826.100.1.1 1629975361 installed
<13>Nov  9 09:17:17 rpmi: chrooted-0.3.12-alt1 sisyphus+327286.5300.14.1 1711487147 installed
<13>Nov  9 09:17:17 rpmi: chrooted-resolv-0.3.1-alt2 sisyphus+276781.100.1.1 1625232496 installed
<13>Nov  9 09:17:17 rpmi: seabios-1.16.3-alt3 sisyphus+339925.100.2.1 1707235821 installed
<13>Nov  9 09:17:17 rpmi: qemu-aux-9.0.2-alt2 sisyphus+353262.300.4.2 1721670160 installed
<13>Nov  9 09:17:17 rpmi: qboot-0.0-alt2.gita5300c4949 sisyphus+288238.100.1.1 1635334950 installed
<13>Nov  9 09:17:17 rpmi: pciids-20241031-alt1 sisyphus+361327.100.1.1 1730460822 installed
<13>Nov  9 09:17:17 rpmi: libverto-0.3.2-alt1_1 sisyphus+321176.2200.10.2 1684806164 installed
<13>Nov  9 09:17:17 rpmi: libsnappy-1.1.7-alt1 sisyphus+276400.100.1.2 1625016400 installed
<13>Nov  9 09:17:17 rpmi: libslirp-4.8.0-alt2 sisyphus+350105.100.2.1 1717413001 installed
<13>Nov  9 09:17:17 rpmi: libpng16-1.6.42-alt2 sisyphus+339555.100.1.1 1706781690 installed
<13>Nov  9 09:17:17 rpmi: libpixman-3:0.43.4-alt2 sisyphus+344164.100.1.1 1711987947 installed
<13>Nov  9 09:17:17 rpmi: libpci-3.13.0-alt1 sisyphus+350694.100.1.1 1717993337 installed
<13>Nov  9 09:17:17 rpmi: pciutils-3.13.0-alt1 sisyphus+350694.100.1.1 1717993337 installed
<13>Nov  9 09:17:17 rpmi: liblzo2-2.10-alt2 sisyphus+283836.100.1.1 1629977730 installed
<13>Nov  9 09:17:17 rpmi: liblmdb-0.9.33-alt1 sisyphus+360625.100.1.1 1729819639 installed
<13>Nov  9 09:17:17 rpmi: libjson-c5-0.18-alt1 sisyphus+358387.100.1.1 1727298142 installed
<13>Nov  9 09:17:17 rpmi: libjpeg-2:3.0.2-alt2.1 sisyphus+340135.100.1.1 1707449053 installed
<13>Nov  9 09:17:17 rpmi: libnl-common-3.10.0-alt1 sisyphus+353291.100.1.1 1721583263 installed
<13>Nov  9 09:17:17 rpmi: libnl3-3.10.0-alt1 sisyphus+353291.100.1.1 1721583263 installed
<13>Nov  9 09:17:17 rpmi: libibverbs-53.0-alt1 sisyphus+356308.40.1.1 1724931349 installed
<13>Nov  9 09:17:17 rpmi: librdmacm-53.0-alt1 sisyphus+356308.40.1.1 1724931349 installed
<13>Nov  9 09:17:17 rpmi: libidn2-2.3.7-alt1 sisyphus+339505.100.1.2 1706718975 installed
<13>Nov  9 09:17:17 rpmi: libgnutls30-3.8.4-alt1 sisyphus+343729.100.2.1 1711570650 installed
<13>Nov  9 09:17:17 rpmi: desktop-file-utils-0.26-alt6 sisyphus+331944.100.1.3 1697550035 installed
<13>Nov  9 09:17:17 rpmi: shared-mime-info-2.4-alt1 sisyphus+334259.100.1.1 1699787317 installed
<13>Nov  9 09:17:17 rpmi: libfdt-1.7.1-alt1 sisyphus+361020.100.1.1 1730219491 installed
<13>Nov  9 09:17:17 rpmi: libfdisk-2.39.2-alt1 sisyphus+327286.4500.14.1 1711486360 installed
<13>Nov  9 09:17:17 rpmi: sfdisk-2.39.2-alt1 sisyphus+327286.4500.14.1 1711486360 installed
<13>Nov  9 09:17:17 rpmi: libcapstone5-5.0.1-alt1 sisyphus+353047.160.3.1 1721259396 installed
<13>Nov  9 09:17:17 rpmi: libbpf-1.4.7-alt1 sisyphus+361208.100.1.1 1730330531 installed
<13>Nov  9 09:17:17 rpmi: libaio-0.3.113-alt2 sisyphus+335254.100.1.1 1701100065 installed
<13>Nov  9 09:17:17 rpmi: hasher-provides-dev-kvm-1-alt1 sisyphus+234377.200.6.1 1569421041 installed
<13>Nov  9 09:17:18 rpmi: gsettings-desktop-schemas-data-47.1-alt1 sisyphus+357735.300.3.1 1726641752 installed
<13>Nov  9 09:17:18 rpmi: libgio-2.82.2-alt1 sisyphus+360023.100.1.1 1729169702 installed
<13>Nov  9 09:17:18 rpmi: gsettings-desktop-schemas-47.1-alt1 sisyphus+357735.300.3.1 1726641770 installed
<13>Nov  9 09:17:18 rpmi: gcc-c++-common-1.4.28-alt1 sisyphus+348678.100.1.1 1716396142 installed
<13>Nov  9 09:17:18 rpmi: libstdc++14-devel-14.2.1-alt1 sisyphus+360995.100.1.1 1730131612 installed
<13>Nov  9 09:17:19 rpmi: gcc14-c++-14.2.1-alt1 sisyphus+360995.100.1.1 1730131612 installed
<13>Nov  9 09:17:19 rpmi: libdevmapper-1.02.202-alt1 sisyphus+361775.200.5.1 1730990776 installed
<13>Nov  9 09:17:19 rpmi: losetup-2.39.2-alt1 sisyphus+327286.4500.14.1 1711486360 installed
<13>Nov  9 09:17:19 rpmi: rpm-macros-alternatives-0.5.2-alt2 sisyphus+315270.200.2.1 1676457367 installed
<13>Nov  9 09:17:19 rpmi: alternatives-0.5.2-alt2 sisyphus+315270.200.2.1 1676457367 installed
<13>Nov  9 09:17:19 rpmi: ca-certificates-2024.07.01-alt1 sisyphus+351897.100.1.1 1719826350 installed
<13>Nov  9 09:17:19 rpmi: ca-trust-0.2.0-alt1 sisyphus+344843.100.1.1 1712743326 installed
<13>Nov  9 09:17:19 rpmi: p11-kit-trust-1:0.25.5-alt1 sisyphus+352553.100.1.1 1720622586 installed
<13>Nov  9 09:17:19 rpmi: libcrypto3-3.1.7-alt2 sisyphus+359910.100.1.1 1729080696 installed
<13>Nov  9 09:17:19 rpmi: libkmod-32-alt1 sisyphus+357452.100.2.1 1727718010 installed
<13>Nov  9 09:17:19 rpmi: kmod-32-alt1 sisyphus+357452.100.2.1 1727718010 installed
<13>Nov  9 09:17:19 rpmi: dmsetup-1.02.202-alt1 sisyphus+361775.200.5.1 1730990776 installed
<86>Nov  9 09:17:19 groupadd[397281]: group added to /etc/group: name=tape, GID=999
<86>Nov  9 09:17:19 groupadd[397281]: group added to /etc/gshadow: name=tape
<86>Nov  9 09:17:19 groupadd[397281]: new group: name=tape, GID=999
<86>Nov  9 09:17:19 groupadd[397310]: group added to /etc/group: name=dialout, GID=998
<86>Nov  9 09:17:19 groupadd[397310]: group added to /etc/gshadow: name=dialout
<86>Nov  9 09:17:19 groupadd[397310]: new group: name=dialout, GID=998
<86>Nov  9 09:17:19 groupadd[397335]: group added to /etc/group: name=input, GID=997
<86>Nov  9 09:17:19 groupadd[397335]: group added to /etc/gshadow: name=input
<86>Nov  9 09:17:19 groupadd[397335]: new group: name=input, GID=997
<86>Nov  9 09:17:19 groupadd[397356]: group added to /etc/group: name=video, GID=996
<86>Nov  9 09:17:19 groupadd[397356]: group added to /etc/gshadow: name=video
<86>Nov  9 09:17:19 groupadd[397356]: new group: name=video, GID=996
<86>Nov  9 09:17:19 groupadd[397377]: group added to /etc/group: name=render, GID=995
<86>Nov  9 09:17:19 groupadd[397377]: group added to /etc/gshadow: name=render
<86>Nov  9 09:17:19 groupadd[397377]: new group: name=render, GID=995
<86>Nov  9 09:17:19 groupadd[397391]: group added to /etc/group: name=sgx, GID=994
<86>Nov  9 09:17:19 groupadd[397391]: group added to /etc/gshadow: name=sgx
<86>Nov  9 09:17:19 groupadd[397391]: new group: name=sgx, GID=994
<13>Nov  9 09:17:19 rpmi: udev-1:255.13-alt1 sisyphus+359453.100.2.1 1728651220 installed
<13>Nov  9 09:17:19 rpmi: make-initrd-2.49.0-alt1 sisyphus+355167.100.1.1 1723643202 installed
<13>Nov  9 09:17:19 rpmi: bootloader-utils-0.5.4-alt1 sisyphus+299892.400.6.1 1655484623 installed
<13>Nov  9 09:17:23 rpmi: kernel-image-6.11-6.11.7-alt1 sisyphus+362060.100.1.1 1731090692 installed
<86>Nov  9 09:17:23 groupadd[404456]: group added to /etc/group: name=fuse, GID=993
<86>Nov  9 09:17:23 groupadd[404456]: group added to /etc/gshadow: name=fuse
<86>Nov  9 09:17:23 groupadd[404456]: new group: name=fuse, GID=993
<86>Nov  9 09:17:23 groupadd[404474]: group added to /etc/group: name=cuse, GID=992
<86>Nov  9 09:17:23 groupadd[404474]: group added to /etc/gshadow: name=cuse
<86>Nov  9 09:17:23 groupadd[404474]: new group: name=cuse, GID=992
<13>Nov  9 09:17:23 rpmi: fuse-common-1.1.2-alt1 sisyphus+279613.200.2.1 1626617487 installed
<13>Nov  9 09:17:23 rpmi: libfuse3-3.16.2-alt1 sisyphus+343926.200.2.1 1711720001 installed
<13>Nov  9 09:17:23 rpmi: fuse3-3.16.2-alt1 sisyphus+343926.200.2.1 1711720001 installed
<13>Nov  9 09:17:23 rpmi: qemu-img-9.0.2-alt2 sisyphus+353262.300.4.2 1721670363 installed
<13>Nov  9 09:17:23 rpmi: qemu-common-9.0.2-alt2 sisyphus+353262.300.4.2 1721670363 installed
<13>Nov  9 09:17:23 rpmi: libdaxctl-80-alt1 sisyphus+359490.100.1.1 1728591336 installed
<13>Nov  9 09:17:23 rpmi: libssl3-3.1.7-alt2 sisyphus+359910.100.1.1 1729080696 installed
<86>Nov  9 09:17:23 groupadd[404788]: group added to /etc/group: name=_keytab, GID=991
<86>Nov  9 09:17:23 groupadd[404788]: group added to /etc/gshadow: name=_keytab
<86>Nov  9 09:17:23 groupadd[404788]: new group: name=_keytab, GID=991
<13>Nov  9 09:17:23 rpmi: libkrb5-1.21.3-alt2 sisyphus+351857.100.1.1 1719735219 installed
<86>Nov  9 09:17:23 groupadd[404861]: group added to /etc/group: name=sasl, GID=990
<86>Nov  9 09:17:23 groupadd[404861]: group added to /etc/gshadow: name=sasl
<86>Nov  9 09:17:23 groupadd[404861]: new group: name=sasl, GID=990
<13>Nov  9 09:17:23 rpmi: libsasl2-3-2.1.28-alt2 sisyphus+343335.100.1.1 1711112524 installed
<13>Nov  9 09:17:24 rpmi: qemu-system-x86-core-9.0.2-alt2 sisyphus+353262.300.4.2 1721670363 installed
<13>Nov  9 09:17:24 rpmi: rpm-build-vm-run-1.74-alt1 sisyphus+361548.200.2.1 1730542645 installed
Running depmod for 6.11.7-6.11-alt1
<13>Nov  9 09:17:26 rpmi: rpm-build-vm-1.74-alt1 sisyphus+361548.200.2.1 1730542645 installed
<13>Nov  9 09:17:26 rpmi: gcc-c++-14-alt1 sisyphus+360995.300.1.1 1730139881 installed
<13>Nov  9 09:17:26 rpmi: libgnutls-devel-3.8.4-alt1 sisyphus+343729.100.2.1 1711570650 installed
<13>Nov  9 09:17:26 rpmi: liburing-devel-2.8-alt1 sisyphus+361652.600.6.1 1730879698 installed
Building target platforms: i586
Building for target i586
Wrote: /usr/src/in/nosrpm/ubdsrv-1.2-alt1.nosrc.rpm (w1.gzdio)
Installing ubdsrv-1.2-alt1.src.rpm
Building target platforms: i586
Building for target i586
Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.15730
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ rm -rf ubdsrv-1.2
+ echo 'Source #0 (ubdsrv-1.2.tar):'
Source #0 (ubdsrv-1.2.tar):
+ /bin/tar -xf /usr/src/RPM/SOURCES/ubdsrv-1.2.tar
+ cd ubdsrv-1.2
+ /bin/chmod -c -Rf u+rwX,go-w .
+ echo 'echo '\''1.2'\'''
+ sed -i 's!/usr/bin/chown!chown!' utils/ublk_chown.sh utils/ublk_chown_docker.sh
+ exit 0
Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.15730
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd ubdsrv-1.2
+ autoreconf -fisv
autoreconf-default: export WARNINGS=
autoreconf-default: Entering directory '.'
autoreconf-default: configure.ac: not using Gettext
autoreconf-default: running: aclocal --force -I m4
autoreconf-default: configure.ac: tracing
autoreconf-default: running: libtoolize --force --install
libtoolize-default: putting auxiliary files in '.'.
libtoolize-default: linking file './config.guess'
libtoolize-default: linking file './config.sub'
libtoolize-default: linking file './install-sh'
libtoolize-default: linking file './ltmain.sh'
libtoolize-default: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize-default: linking file 'm4/libtool.m4'
libtoolize-default: linking file 'm4/ltoptions.m4'
libtoolize-default: linking file 'm4/ltsugar.m4'
libtoolize-default: linking file 'm4/ltversion.m4'
libtoolize-default: linking file 'm4/lt~obsolete.m4'
autoreconf-default: configure.ac: not using Intltool
autoreconf-default: configure.ac: not using Gtkdoc
autoreconf-default: running: aclocal --force -I m4
autoreconf-default: running: /usr/bin/autoconf-2.71 --force
autoreconf-default: running: /usr/bin/autoheader-2.71 --force
autoreconf-default: running: automake --add-missing --force-missing
configure.ac:13: installing './compile'
configure.ac:19: installing './missing'
Makefile.am: installing './depcomp'
autoreconf-default: Leaving directory '.'
+ CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ export FFLAGS
+ FCFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ export FCFLAGS
+ '[' -n '' ']'
++ printf %s '-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
++ sed -r 's/(^|[[:space:]]+)-[^m][^[:space:]]*//g'
+ ASFLAGS=' -march=i586 -mtune=generic'
+ export ASFLAGS
+ export lt_cv_deplibs_check_method=pass_all
+ lt_cv_deplibs_check_method=pass_all
+ readlink -e -- ./configure
+ xargs -ri dirname -- '{}'
+ xargs -ri find '{}' -type f '(' -name config.sub -or -name config.guess ')' -printf '%h/\n'
+ sort -u
+ xargs -rn1 install -pm755 -- /usr/share/gnu-config/config.sub /usr/share/gnu-config/config.guess
+ configure_runstatedir_flags=
+ grep -qF runstatedir=DIR ./configure
+ configure_runstatedir_flags=--runstatedir=/var/run
+ ./configure --build=i586-alt-linux --host=i586-alt-linux --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/lib --localstatedir=/var/lib --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --disable-dependency-tracking --disable-silent-rules --runstatedir=/var/run --without-included-gettext --disable-static
configure: WARNING: unrecognized options: --without-included-gettext
checking for i586-alt-linux-gcc... i586-alt-linux-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether i586-alt-linux-gcc accepts -g... yes
checking for i586-alt-linux-gcc option to enable C11 features... none needed
checking whether i586-alt-linux-gcc understands -c and -o together... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking whether make supports nested variables... yes
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of i586-alt-linux-gcc... none
checking build system type... i586-alt-linux-gnu
checking host system type... i586-alt-linux-gnu
checking how to print strings... printf
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 i586-alt-linux-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 i586-alt-linux-gnu file names to i586-alt-linux-gnu format... func_convert_file_noop
checking how to convert i586-alt-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for i586-alt-linux-file... no
checking for file... file
checking for i586-alt-linux-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... (cached) pass_all
checking for i586-alt-linux-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for i586-alt-linux-ar... no
checking for ar... ar
checking for archiver @FILE support... @
checking for i586-alt-linux-strip... no
checking for strip... strip
checking for i586-alt-linux-ranlib... no
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from i586-alt-linux-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 i586-alt-linux-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if i586-alt-linux-gcc supports -fno-rtti -fno-exceptions... no
checking for i586-alt-linux-gcc option to produce PIC... -fPIC -DPIC
checking if i586-alt-linux-gcc PIC flag -fPIC -DPIC works... yes
checking if i586-alt-linux-gcc static flag -static works... no
checking if i586-alt-linux-gcc supports -c -o file.o... yes
checking if i586-alt-linux-gcc supports -c -o file.o... (cached) yes
checking whether the i586-alt-linux-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 for a sed that does not truncate output... (cached) /usr/bin/sed
checking for i586-alt-linux-gcc... (cached) i586-alt-linux-gcc
checking whether the compiler supports GNU C... (cached) yes
checking whether i586-alt-linux-gcc accepts -g... (cached) yes
checking for i586-alt-linux-gcc option to enable C11 features... (cached) none needed
checking whether i586-alt-linux-gcc understands -c and -o together... (cached) yes
checking how to run the C preprocessor... i586-alt-linux-gcc -E
checking whether i586-alt-linux-gcc is Clang... no
checking whether pthreads work with "-pthread" and "-lpthread"... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking whether more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking for i586-alt-linux-g++... i586-alt-linux-g++
checking whether the compiler supports GNU C++... yes
checking whether i586-alt-linux-g++ accepts -g... yes
checking for i586-alt-linux-g++ option to enable C++11 features... none needed
checking dependency style of i586-alt-linux-g++... none
checking how to run the C++ preprocessor... i586-alt-linux-g++ -E
checking for ld used by i586-alt-linux-g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the i586-alt-linux-g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for i586-alt-linux-g++ option to produce PIC... -fPIC -DPIC
checking if i586-alt-linux-g++ PIC flag -fPIC -DPIC works... yes
checking if i586-alt-linux-g++ static flag -static works... no
checking if i586-alt-linux-g++ supports -c -o file.o... yes
checking if i586-alt-linux-g++ supports -c -o file.o... (cached) yes
checking whether the i586-alt-linux-g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for i586-alt-linux-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for liburing >= 2.2... yes
checking for io_uring_prep_sendmsg_zc... yes
checking for gnutls >= 2.12.0... yes
checking whether Large File Support should be enabled... yes
checking for doxygen... no
configure: WARNING: Doxygen not found - continue without Doxygen support
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating include/Makefile
config.status: creating lib/Makefile
config.status: creating tests/Makefile
config.status: creating ublksrv.pc
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
configure: WARNING: unrecognized options: --without-included-gettext
+ make -j16
make  all-recursive
Making all in include
make[2]: Nothing to be done for 'all'.
Making all in lib
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2/lib'
/bin/sh ../libtool  --tag=CC   --mode=compile i586-alt-linux-gcc -DHAVE_CONFIG_H -I. -I..  -I../include -DUBLKSRV_INTERNAL_H_    -pthread -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o libublksrv_la-utils.lo `test -f 'utils.c' || echo './'`utils.c
libtool: compile:  i586-alt-linux-gcc -DHAVE_CONFIG_H -I. -I.. -I../include -DUBLKSRV_INTERNAL_H_ -pthread -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c utils.c  -fPIC -DPIC -o .libs/libublksrv_la-utils.o
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2/lib'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2/lib'
/bin/sh ../libtool  --tag=CC   --mode=compile i586-alt-linux-gcc -DHAVE_CONFIG_H -I. -I..  -I../include -DUBLKSRV_INTERNAL_H_    -pthread -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o libublksrv_la-ublksrv_aio.lo `test -f 'ublksrv_aio.c' || echo './'`ublksrv_aio.c
libtool: compile:  i586-alt-linux-gcc -DHAVE_CONFIG_H -I. -I.. -I../include -DUBLKSRV_INTERNAL_H_ -pthread -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c ublksrv_aio.c  -fPIC -DPIC -o .libs/libublksrv_la-ublksrv_aio.o
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2/lib'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2/lib'
/bin/sh ../libtool  --tag=CC   --mode=compile i586-alt-linux-gcc -DHAVE_CONFIG_H -I. -I..  -I../include -DUBLKSRV_INTERNAL_H_    -pthread -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o libublksrv_la-ublksrv_cmd.lo `test -f 'ublksrv_cmd.c' || echo './'`ublksrv_cmd.c
libtool: compile:  i586-alt-linux-gcc -DHAVE_CONFIG_H -I. -I.. -I../include -DUBLKSRV_INTERNAL_H_ -pthread -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c ublksrv_cmd.c  -fPIC -DPIC -o .libs/libublksrv_la-ublksrv_cmd.o
ublksrv_cmd.c: In function 'ublksrv_ctrl_get_affinity':
ublksrv_cmd.c:207:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  207 |                 data.addr = (__u64)&buf[i * data.len];
      |                             ^
ublksrv_cmd.c:210:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  210 |                         snprintf((char *)data.addr, UBLKC_PATH_MAX, "%s%d",
      |                                  ^
ublksrv_cmd.c: In function 'ublksrv_ctrl_start_dev':
ublksrv_cmd.c:35:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   35 |                 data.addr = (__u64)buf; \
      |                             ^
ublksrv_cmd.c:249:9: note: in expansion of macro 'ublk_un_privileged_prep_data'
  249 |         ublk_un_privileged_prep_data(ctrl_dev, data);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ublksrv_cmd.c: In function '__ublksrv_ctrl_add_dev':
ublksrv_cmd.c:275:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  275 |                 .addr = (__u64)&dev->dev_info,
      |                         ^
ublksrv_cmd.c: In function 'ublksrv_ctrl_del_dev_async':
ublksrv_cmd.c:35:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   35 |                 data.addr = (__u64)buf; \
      |                             ^
ublksrv_cmd.c:299:9: note: in expansion of macro 'ublk_un_privileged_prep_data'
  299 |         ublk_un_privileged_prep_data(dev, data);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ublksrv_cmd.c: In function 'ublksrv_ctrl_del_dev':
ublksrv_cmd.c:35:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   35 |                 data.addr = (__u64)buf; \
      |                             ^
ublksrv_cmd.c:311:9: note: in expansion of macro 'ublk_un_privileged_prep_data'
  311 |         ublk_un_privileged_prep_data(dev, data);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ublksrv_cmd.c: In function '__ublksrv_ctrl_get_info_no_trans':
ublksrv_cmd.c:323:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  323 |                 .addr = (__u64)&dev->dev_info,
      |                         ^
ublksrv_cmd.c:338:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  338 |                 data.addr = (__u64)buf;
      |                             ^
ublksrv_cmd.c: In function 'ublksrv_ctrl_stop_dev':
ublksrv_cmd.c:35:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   35 |                 data.addr = (__u64)buf; \
      |                             ^
ublksrv_cmd.c:426:9: note: in expansion of macro 'ublk_un_privileged_prep_data'
  426 |         ublk_un_privileged_prep_data(dev, data);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ublksrv_cmd.c: In function 'ublksrv_ctrl_set_params':
ublksrv_cmd.c:493:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  493 |                 .addr = (__u64)params,
      |                         ^
ublksrv_cmd.c:507:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  507 |                 data.addr = (__u64)buf;
      |                             ^
ublksrv_cmd.c: In function 'ublksrv_ctrl_get_params':
ublksrv_cmd.c:519:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  519 |                 .addr = (__u64)params,
      |                         ^
ublksrv_cmd.c:534:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  534 |                 data.addr = (__u64)buf;
      |                             ^
ublksrv_cmd.c: In function 'ublksrv_ctrl_start_recovery':
ublksrv_cmd.c:35:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   35 |                 data.addr = (__u64)buf; \
      |                             ^
ublksrv_cmd.c:552:9: note: in expansion of macro 'ublk_un_privileged_prep_data'
  552 |         ublk_un_privileged_prep_data(dev, data);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ublksrv_cmd.c: In function 'ublksrv_ctrl_end_recovery':
ublksrv_cmd.c:35:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   35 |                 data.addr = (__u64)buf; \
      |                             ^
ublksrv_cmd.c:566:9: note: in expansion of macro 'ublk_un_privileged_prep_data'
  566 |         ublk_un_privileged_prep_data(dev, data);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ublksrv_cmd.c: In function 'ublksrv_ctrl_get_features':
ublksrv_cmd.c:580:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  580 |                 .addr = (__u64)features,
      |                         ^
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2/lib'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2/lib'
/bin/sh ../libtool  --tag=CC   --mode=compile i586-alt-linux-gcc -DHAVE_CONFIG_H -I. -I..  -I../include -DUBLKSRV_INTERNAL_H_    -pthread -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o libublksrv_la-ublksrv.lo `test -f 'ublksrv.c' || echo './'`ublksrv.c
libtool: compile:  i586-alt-linux-gcc -DHAVE_CONFIG_H -I. -I.. -I../include -DUBLKSRV_INTERNAL_H_ -pthread -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c ublksrv.c  -fPIC -DPIC -o .libs/libublksrv_la-ublksrv.o
ublksrv.c: In function 'ublksrv_queue_io_cmd':
ublksrv.c:177:35: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  177 |                 cmd->addr       = (__u64)io->buf_addr;
      |                                   ^
ublksrv.c: In function 'ublksrv_submit_aio_batch':
ublksrv.c:903:23: warning: 'write' reading 8 bytes from a region of size 4 [-Wstringop-overread]
  903 |                 ret = write(ctx->efd, &data, 8);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~
ublksrv.c:900:31: note: source object 'data' of size 4
  900 |                 unsigned long data = 1;
      |                               ^~~~
In file included from ../include/ublksrv_priv.h:10,
                 from ublksrv.c:8:
/usr/include/unistd.h:378:16: note: in a call to function 'write' declared with attribute 'access (read_only, 2, 3)'
  378 | extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur
      |                ^~~~~
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2/lib'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2/lib'
/bin/sh ../libtool  --tag=CXX   --mode=compile i586-alt-linux-g++ -DHAVE_CONFIG_H -I. -I..  -I../include -DUBLKSRV_INTERNAL_H_   -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fcoroutines -c -o libublksrv_la-ublksrv_json.lo `test -f 'ublksrv_json.cpp' || echo './'`ublksrv_json.cpp
libtool: compile:  i586-alt-linux-g++ -DHAVE_CONFIG_H -I. -I.. -I../include -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fcoroutines -c ublksrv_json.cpp  -fPIC -DPIC -o .libs/libublksrv_la-ublksrv_json.o
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2/lib'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2/lib'
/bin/sh ../libtool  --tag=CXX   --mode=link i586-alt-linux-g++  -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fcoroutines -version-info 0:0:0  -o libublksrv.la -rpath /usr/lib libublksrv_la-ublksrv_cmd.lo libublksrv_la-ublksrv_json.lo libublksrv_la-ublksrv.lo libublksrv_la-utils.lo libublksrv_la-ublksrv_aio.lo -luring -lpthread 
libtool: link: i586-alt-linux-g++  -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/i586-alt-linux/14/../../../crti.o /usr/lib/gcc/i586-alt-linux/14/crtbeginS.o  .libs/libublksrv_la-ublksrv_cmd.o .libs/libublksrv_la-ublksrv_json.o .libs/libublksrv_la-ublksrv.o .libs/libublksrv_la-utils.o .libs/libublksrv_la-ublksrv_aio.o   -luring -lpthread -L/usr/lib/gcc/i586-alt-linux/14 -L/usr/lib/gcc/i586-alt-linux/14/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i586-alt-linux/14/crtendS.o /usr/lib/gcc/i586-alt-linux/14/../../../crtn.o  -g -O2 -flto=auto -march=i586 -mtune=generic   -Wl,-soname -Wl,libublksrv.so.0 -o .libs/libublksrv.so.0.0.0
libtool: link: (cd ".libs" && rm -f "libublksrv.so.0" && ln -s "libublksrv.so.0.0.0" "libublksrv.so.0")
libtool: link: (cd ".libs" && rm -f "libublksrv.so" && ln -s "libublksrv.so.0.0.0" "libublksrv.so")
libtool: link: ( cd ".libs" && rm -f "libublksrv.la" && ln -s "../libublksrv.la" "libublksrv.la" )
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2/lib'
Making all in tests
make[2]: Nothing to be done for 'all'.
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
i586-alt-linux-gcc -DHAVE_CONFIG_H -I.    -pthread -I./include    -pthread -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o utils/ublk_user_id-ublk_user_id.o `test -f 'utils/ublk_user_id.c' || echo './'`utils/ublk_user_id.c
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
i586-alt-linux-gcc -DHAVE_CONFIG_H -I.    -pthread -I./include    -pthread -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o nbd/ublk-cliserv.o `test -f 'nbd/cliserv.c' || echo './'`nbd/cliserv.c
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
i586-alt-linux-gcc -DHAVE_CONFIG_H -I.    -pthread -I./include    -pthread -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o demo_null-demo_null.o `test -f 'demo_null.c' || echo './'`demo_null.c
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
i586-alt-linux-gcc -DHAVE_CONFIG_H -I.    -pthread -I./include    -pthread -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o nbd/ublk-nbd-client.o `test -f 'nbd/nbd-client.c' || echo './'`nbd/nbd-client.c
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
i586-alt-linux-gcc -DHAVE_CONFIG_H -I.    -pthread -I./include    -pthread -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o demo_event-demo_event.o `test -f 'demo_event.c' || echo './'`demo_event.c
demo_event.c: In function 'async_io_submitter':
demo_event.c:108:50: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  108 |                 io_uring_prep_read(sqe, req->fd, (void *)iod->addr,
      |                                                  ^
demo_event.c:112:51: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  112 |                 io_uring_prep_write(sqe, req->fd, (void *)iod->addr,
      |                                                   ^
demo_event.c: In function 'sync_io_submitter':
demo_event.c:129:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  129 |         void *buf = (void *)iod->addr;
      |                     ^
demo_event.c: In function 'reap_uring':
demo_event.c:201:51: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  201 |                         struct ublksrv_aio *req = (struct ublksrv_aio *)
      |                                                   ^
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
/bin/sh ./libtool  --tag=CC   --mode=link i586-alt-linux-gcc   -pthread -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64   -o demo_null demo_null-demo_null.o lib/libublksrv.la -luring -lpthread 
libtool: link: i586-alt-linux-gcc -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -o .libs/demo_null demo_null-demo_null.o  lib/.libs/libublksrv.so -luring -lpthread -pthread
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
/bin/sh ./libtool  --tag=CC   --mode=link i586-alt-linux-gcc   -pthread -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64   -o ublk_user_id utils/ublk_user_id-ublk_user_id.o lib/libublksrv.la -luring -lpthread 
libtool: link: i586-alt-linux-gcc -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -o .libs/ublk_user_id utils/ublk_user_id-ublk_user_id.o  lib/.libs/libublksrv.so -luring -lpthread -pthread
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
/bin/sh ./libtool  --tag=CC   --mode=link i586-alt-linux-gcc   -pthread -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64   -o demo_event demo_event-demo_event.o lib/libublksrv.la -luring -lpthread 
libtool: link: i586-alt-linux-gcc -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -o .libs/demo_event demo_event-demo_event.o  lib/.libs/libublksrv.so -luring -lpthread -pthread
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
i586-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fcoroutines -c -o ublk-ublksrv_tgt.o `test -f 'ublksrv_tgt.cpp' || echo './'`ublksrv_tgt.cpp
ublksrv_tgt.cpp: In function 'void ublksrv_drain_fetch_commands(const ublksrv_dev*, ublksrv_queue_info*)':
ublksrv_tgt.cpp:421:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  421 |         for (i = 0; i < nr_queues; i++)
      |                     ~~^~~~~~~~~~~
ublksrv_tgt.cpp: In function 'int cmd_dev_get_features(int, char**)':
ublksrv_tgt.cpp:1056:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1056 |                 for (i = 0; i < sizeof(features); i++) {
      |                             ~~^~~~~~~~~~~~~~~~~~
ublksrv_tgt.cpp:1061:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1061 |                         if (i < sizeof(feat_map) / sizeof(feat_map[0]))
      |                             ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ublksrv_tgt.cpp: In function 'int __cmd_dev_user_recover(int, bool)':
ublksrv_tgt.cpp:1131:29: warning: comparison of integer expressions of different signedness: '__u32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 1131 |         if (dev_info.dev_id != number) {
      |             ~~~~~~~~~~~~~~~~^~~~~~~~~
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
i586-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fcoroutines -c -o ublk-tgt_null.o `test -f 'tgt_null.cpp' || echo './'`tgt_null.cpp
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
i586-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fcoroutines -c -o ublk-tgt_loop.o `test -f 'tgt_loop.cpp' || echo './'`tgt_loop.cpp
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
i586-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fcoroutines -c -o nbd/ublk-tgt_nbd.o `test -f 'nbd/tgt_nbd.cpp' || echo './'`nbd/tgt_nbd.cpp
nbd/tgt_nbd.cpp: In function 'int nbd_handle_recv_reply(const ublksrv_queue*, nbd_io_data*, const io_uring_cqe*, const ublk_io_data**)':
nbd/tgt_nbd.cpp:326:63: warning: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
  326 |                 nbd_err("%s %d: cookie not match tag %d: %x %lx\n",
      |                                                             ~~^
      |                                                               |
      |                                                               long unsigned int
      |                                                             %llx
  327 |                                 __func__, __LINE__, data->tag,
  328 |                                 nbd_data->cmd_cookie, handle);
      |                                                       ~~~~~~   
      |                                                       |
      |                                                       uint64_t {aka long long unsigned int}
nbd/tgt_nbd.cpp: In function 'int nbd_do_recv(const ublksrv_queue*, nbd_io_data*, int, void*, unsigned int)':
nbd/tgt_nbd.cpp:421:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  421 |         while (i++ < loops && done < len) {
      |                               ~~~~~^~~~~
nbd/tgt_nbd.cpp:429:18: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  429 |         if (done == len)
      |             ~~~~~^~~~~~
nbd/tgt_nbd.cpp: In function 'co_io_job __nbd_handle_recv(const ublksrv_queue*, const ublk_io_data*, ublk_io_tgt*)':
nbd/tgt_nbd.cpp:487:25: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  487 |                 if (ret == len) {
      |                     ~~~~^~~~~~
nbd/tgt_nbd.cpp: In function 'void nbd_send_req_done(const ublksrv_queue*, const ublk_io_data*, const io_uring_cqe*)':
nbd/tgt_nbd.cpp:569:22: warning: comparison of integer expressions of different signedness: 'const __s32' {aka 'const int'} and 'unsigned int' [-Wsign-compare]
  569 |         if (cqe->res < total)
      |             ~~~~~~~~~^~~~~~~
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
i586-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fcoroutines -c -o qcow2/ublk-utils.o `test -f 'qcow2/utils.cpp' || echo './'`qcow2/utils.cpp
In file included from qcow2/qcow2.h:16,
                 from qcow2/utils.cpp:4:
qcow2/qcow2_meta.h: In member function 'virtual void Qcow2HeaderExtBitmaps::dump() const':
qcow2/qcow2_meta.h:227:80: warning: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type 'long long unsigned int' [-Wformat=]
  227 |                 qcow2_log("%s: type %x len %d nr_bitmap %d bitmap_dir(offset %lx sz %lu)\n",
      |                                                                              ~~^
      |                                                                                |
      |                                                                                long unsigned int
      |                                                                              %llx
  228 |                                 typeid(*this).name(), type, len,
  229 |                                 nr_bitmap, bitmap_directory_offset,
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~              
      |                                            |
      |                                            long long unsigned int
qcow2/qcow2_meta.h:227:87: warning: format '%lu' expects argument of type 'long unsigned int', but argument 7 has type 'long long unsigned int' [-Wformat=]
  227 |                 qcow2_log("%s: type %x len %d nr_bitmap %d bitmap_dir(offset %lx sz %lu)\n",
      |                                                                                     ~~^
      |                                                                                       |
      |                                                                                       long unsigned int
      |                                                                                     %llu
......
  230 |                                 bitmap_directory_size);
      |                                 ~~~~~~~~~~~~~~~~~~~~~                                  
      |                                 |
      |                                 long long unsigned int
qcow2/qcow2_meta.h: In member function 'uint32_t Qcow2TopTable::dirty_blks()':
qcow2/qcow2_meta.h:435:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  435 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2_meta.h: In member function 'int Qcow2TopTable::get_1st_dirty_blk()':
qcow2/qcow2_meta.h:446:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  446 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2.h: In member function 'bool Qcow2ClusterMapping::__entry_is_allocating(uint64_t)':
qcow2/qcow2.h:215:30: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  215 |                 return state != -1;
      |                        ~~~~~~^~~~~
In file included from qcow2/qcow2_common.h:5,
                 from qcow2/qcow2_meta.h:5:
qcow2/qcow2.h: In member function 'uint32_t Qcow2ClusterMapping::entry_get_alloc_owner(uint64_t, bool)':
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
./include/ublksrv_tgt.h:26:15: note: in definition of macro 'ublk_assert'
   26 |         if (!(x)) {     \
      |               ^
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
In file included from ./include/ublksrv.h:15,
                 from ./include/ublksrv_tgt.h:23:
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
qcow2/qcow2_common.h:7:26: note: in expansion of macro 'ublk_assert'
    7 | #define qcow2_assert(x)  ublk_assert(x)
      |                          ^~~~~~~~~~~
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
i586-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fcoroutines -c -o qcow2/ublk-tgt_qcow2.o `test -f 'qcow2/tgt_qcow2.cpp' || echo './'`qcow2/tgt_qcow2.cpp
In file included from qcow2/qcow2.h:16,
                 from qcow2/tgt_qcow2.cpp:4:
qcow2/qcow2_meta.h: In member function 'virtual void Qcow2HeaderExtBitmaps::dump() const':
qcow2/qcow2_meta.h:227:80: warning: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type 'long long unsigned int' [-Wformat=]
  227 |                 qcow2_log("%s: type %x len %d nr_bitmap %d bitmap_dir(offset %lx sz %lu)\n",
      |                                                                              ~~^
      |                                                                                |
      |                                                                                long unsigned int
      |                                                                              %llx
  228 |                                 typeid(*this).name(), type, len,
  229 |                                 nr_bitmap, bitmap_directory_offset,
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~              
      |                                            |
      |                                            long long unsigned int
qcow2/qcow2_meta.h:227:87: warning: format '%lu' expects argument of type 'long unsigned int', but argument 7 has type 'long long unsigned int' [-Wformat=]
  227 |                 qcow2_log("%s: type %x len %d nr_bitmap %d bitmap_dir(offset %lx sz %lu)\n",
      |                                                                                     ~~^
      |                                                                                       |
      |                                                                                       long unsigned int
      |                                                                                     %llu
......
  230 |                                 bitmap_directory_size);
      |                                 ~~~~~~~~~~~~~~~~~~~~~                                  
      |                                 |
      |                                 long long unsigned int
qcow2/qcow2_meta.h: In member function 'uint32_t Qcow2TopTable::dirty_blks()':
qcow2/qcow2_meta.h:435:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  435 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2_meta.h: In member function 'int Qcow2TopTable::get_1st_dirty_blk()':
qcow2/qcow2_meta.h:446:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  446 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2.h: In member function 'bool Qcow2ClusterMapping::__entry_is_allocating(uint64_t)':
qcow2/qcow2.h:215:30: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  215 |                 return state != -1;
      |                        ~~~~~~^~~~~
In file included from qcow2/tgt_qcow2.cpp:2:
qcow2/qcow2.h: In member function 'uint32_t Qcow2ClusterMapping::entry_get_alloc_owner(uint64_t, bool)':
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
./include/ublksrv_tgt.h:26:15: note: in definition of macro 'ublk_assert'
   26 |         if (!(x)) {     \
      |               ^
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
In file included from /usr/include/c++/14/cassert:44,
                 from /usr/include/c++/14/i586-alt-linux/bits/stdc++.h:106,
                 from qcow2/qcow2.h:10:
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
qcow2/qcow2_common.h:7:26: note: in expansion of macro 'ublk_assert'
    7 | #define qcow2_assert(x)  ublk_assert(x)
      |                          ^~~~~~~~~~~
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
qcow2/tgt_qcow2.cpp: In function 'int qcow2_queue_tgt_fsync(const ublksrv_queue*, unsigned int, int, uint32_t, uint64_t)':
qcow2/tgt_qcow2.cpp:207:47: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
  207 |                 ublk_err("%s: tag %d offset %lx op %d, no sqe\n",
      |                                             ~~^
      |                                               |
      |                                               long unsigned int
      |                                             %llx
  208 |                                 __func__, tag, offset, io_op);
      |                                                ~~~~~~
      |                                                |
      |                                                uint64_t {aka long long unsigned int}
qcow2/tgt_qcow2.cpp: In function 'int qcow2_queue_tgt_zero_cluster(const Qcow2State*, const ublksrv_queue*, int, uint64_t)':
qcow2/tgt_qcow2.cpp:230:47: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
  230 |                 ublk_err("%s: tag %d offset %lx op %d, no sqe for zeroing\n",
      |                                             ~~^
      |                                               |
      |                                               long unsigned int
      |                                             %llx
  231 |                         __func__, tag, offset, IORING_OP_FALLOCATE);
      |                                        ~~~~~~  
      |                                        |
      |                                        uint64_t {aka long long unsigned int}
qcow2/tgt_qcow2.cpp: In function 'int qcow2_queue_tgt_rw_fast(const ublksrv_queue*, unsigned int, int, uint64_t, const ublksrv_io_desc*)':
qcow2/tgt_qcow2.cpp:253:47: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
  253 |                 ublk_err("%s: tag %d offset %lx op %d, no sqe for rw\n",
      |                                             ~~^
      |                                               |
      |                                               long unsigned int
      |                                             %llx
  254 |                                 __func__, tag, offset, io_op);
      |                                                ~~~~~~
      |                                                |
      |                                                uint64_t {aka long long unsigned int}
qcow2/tgt_qcow2.cpp: In function 'co_io_job __qcow2_handle_io_async(const ublksrv_queue*, const ublk_io_data*, int)':
qcow2/tgt_qcow2.cpp:382:26: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
  382 |         if (mapped_start == -1) {
      |             ~~~~~~~~~~~~~^~~~~
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
i586-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fcoroutines -c -o qcow2/ublk-qcow2_meta.o `test -f 'qcow2/qcow2_meta.cpp' || echo './'`qcow2/qcow2_meta.cpp
In file included from qcow2/qcow2.h:16,
                 from qcow2/qcow2_meta.cpp:4:
qcow2/qcow2_meta.h: In member function 'virtual void Qcow2HeaderExtBitmaps::dump() const':
qcow2/qcow2_meta.h:227:80: warning: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type 'long long unsigned int' [-Wformat=]
  227 |                 qcow2_log("%s: type %x len %d nr_bitmap %d bitmap_dir(offset %lx sz %lu)\n",
      |                                                                              ~~^
      |                                                                                |
      |                                                                                long unsigned int
      |                                                                              %llx
  228 |                                 typeid(*this).name(), type, len,
  229 |                                 nr_bitmap, bitmap_directory_offset,
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~              
      |                                            |
      |                                            long long unsigned int
qcow2/qcow2_meta.h:227:87: warning: format '%lu' expects argument of type 'long unsigned int', but argument 7 has type 'long long unsigned int' [-Wformat=]
  227 |                 qcow2_log("%s: type %x len %d nr_bitmap %d bitmap_dir(offset %lx sz %lu)\n",
      |                                                                                     ~~^
      |                                                                                       |
      |                                                                                       long unsigned int
      |                                                                                     %llu
......
  230 |                                 bitmap_directory_size);
      |                                 ~~~~~~~~~~~~~~~~~~~~~                                  
      |                                 |
      |                                 long long unsigned int
qcow2/qcow2_meta.h: In member function 'uint32_t Qcow2TopTable::dirty_blks()':
qcow2/qcow2_meta.h:435:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  435 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2_meta.h: In member function 'int Qcow2TopTable::get_1st_dirty_blk()':
qcow2/qcow2_meta.h:446:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  446 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2.h: In member function 'bool Qcow2ClusterMapping::__entry_is_allocating(uint64_t)':
qcow2/qcow2.h:215:30: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  215 |                 return state != -1;
      |                        ~~~~~~^~~~~
In file included from qcow2/qcow2_common.h:5,
                 from qcow2/qcow2_meta.h:5:
qcow2/qcow2.h: In member function 'uint32_t Qcow2ClusterMapping::entry_get_alloc_owner(uint64_t, bool)':
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
./include/ublksrv_tgt.h:26:15: note: in definition of macro 'ublk_assert'
   26 |         if (!(x)) {     \
      |               ^
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
In file included from ./include/ublksrv.h:15,
                 from ./include/ublksrv_tgt.h:23:
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
qcow2/qcow2_common.h:7:26: note: in expansion of macro 'ublk_assert'
    7 | #define qcow2_assert(x)  ublk_assert(x)
      |                          ^~~~~~~~~~~
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
qcow2/qcow2_meta.cpp: In member function 'virtual void Qcow2Meta::show(const char*, int)':
qcow2/qcow2_meta.cpp:34:48: warning: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
   34 |         qcow2_log("%s:%d obj %p flags %x off %lx ref %d\n",
      |                                              ~~^
      |                                                |
      |                                                long unsigned int
      |                                              %llx
   35 |                         func, line, this, flags, offset, refcnt);
      |                                                  ~~~~~~
      |                                                  |
      |                                                  uint64_t {aka long long unsigned int}
qcow2/qcow2_meta.cpp: In destructor 'virtual Qcow2Meta::~Qcow2Meta()':
qcow2/qcow2_meta.cpp:50:58: warning: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
   50 |                 qcow2_log("BUG %s: obj %p flags %x off %lx\n",
      |                                                        ~~^
      |                                                          |
      |                                                          long unsigned int
      |                                                        %llx
   51 |                                 __func__, this, flags, offset);
      |                                                        ~~~~~~
      |                                                        |
      |                                                        uint64_t {aka long long unsigned int}
qcow2/qcow2_meta.cpp: In member function 'virtual int Qcow2Meta::flush(Qcow2State&, const qcow2_io_ctx_t&, uint64_t, uint32_t)':
qcow2/qcow2_meta.cpp:100:17: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  100 |         if (len != ret)
      |             ~~~~^~~~~~
qcow2/qcow2_meta.cpp: In constructor 'Qcow2HeaderExtFeatureNameTable::Qcow2HeaderExtFeatureNameTable(char*, uint64_t)':
qcow2/qcow2_meta.cpp:121:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::size_t' {aka 'unsigned int'} [-Wsign-compare]
  121 |         for (int i = 0; i < __a.size(); i++) {
      |                         ~~^~~~~~~~~~~~
qcow2/qcow2_meta.cpp: In member function 'virtual void Qcow2HeaderExtFeatureNameTable::dump() const':
qcow2/qcow2_meta.cpp:133:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::size_t' {aka 'unsigned int'} [-Wsign-compare]
  133 |         for (int i = 0; i < __a.size(); i++)
      |                         ~~^~~~~~~~~~~~
qcow2/qcow2_meta.cpp: In member function 'int Qcow2Header::populate()':
qcow2/qcow2_meta.cpp:238:28: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses]
  238 |                 start += 8 + (ext.len + 7) & ~0x7ULL;
      |                          ~~^~~~~~~~~~~~~~~
qcow2/qcow2_meta.cpp: In constructor 'Qcow2TopTable::Qcow2TopTable(Qcow2State&, uint64_t, uint32_t, const char*, uint32_t)':
qcow2/qcow2_meta.cpp:378:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  378 |         for (int i = 0; i < dirty.size(); i++)
      |                         ~~^~~~~~~~~~~~~~
qcow2/qcow2_meta.cpp: In member function 'virtual int Qcow2TopTable::flush(Qcow2State&, const qcow2_io_ctx_t&, uint64_t, uint32_t)':
qcow2/qcow2_meta.cpp:423:44: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  423 |         qcow2_assert(len == 512 && blk_idx < dirty.size());
      |                                    ~~~~~~~~^~~~~~~~~~~~~~
./include/ublksrv_tgt.h:26:15: note: in definition of macro 'ublk_assert'
   26 |         if (!(x)) {     \
      |               ^
qcow2/qcow2_meta.cpp:423:9: note: in expansion of macro 'qcow2_assert'
  423 |         qcow2_assert(len == 512 && blk_idx < dirty.size());
      |         ^~~~~~~~~~~~
qcow2/qcow2_meta.cpp:423:44: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  423 |         qcow2_assert(len == 512 && blk_idx < dirty.size());
      |                                    ~~~~~~~~^~~~~~~~~~~~~~
qcow2/qcow2_common.h:7:26: note: in expansion of macro 'ublk_assert'
    7 | #define qcow2_assert(x)  ublk_assert(x)
      |                          ^~~~~~~~~~~
qcow2/qcow2_meta.cpp:423:9: note: in expansion of macro 'qcow2_assert'
  423 |         qcow2_assert(len == 512 && blk_idx < dirty.size());
      |         ^~~~~~~~~~~~
qcow2/qcow2_meta.cpp: In member function 'void Qcow2L1Table::dump()':
qcow2/qcow2_meta.cpp:497:27: warning: comparison of integer expressions of different signedness: 'int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
  497 |         for (int i = 0; i < header.get_l1_size(); i++)
      |                         ~~^~~~~~~~~~~~~~~~~~~~~~
qcow2/qcow2_meta.cpp:498:34: warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
  498 |                 qcow2_log("%d: %lx\n", i, get_entry(i));
      |                                ~~^        ~~~~~~~~~~~~
      |                                  |                 |
      |                                  long unsigned int uint64_t {aka long long unsigned int}
      |                                %llx
qcow2/qcow2_meta.cpp: In member function 'void Qcow2RefcountTable::dump()':
qcow2/qcow2_meta.cpp:540:27: warning: comparison of integer expressions of different signedness: 'int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
  540 |         for (int i = 0; i < data_len / 8; i++) {
      |                         ~~^~~~~~~~~~~~~~
qcow2/qcow2_meta.cpp:544:42: warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
  544 |                         qcow2_log("%d: %lx\n", i, entry);
      |                                        ~~^        ~~~~~
      |                                          |        |
      |                                          |        uint64_t {aka long long unsigned int}
      |                                          long unsigned int
      |                                        %llx
qcow2/qcow2_meta.cpp: In member function 'virtual void Qcow2SliceMeta::io_done(Qcow2State&, const ublksrv_queue*, const io_uring_cqe*)':
qcow2/qcow2_meta.cpp:738:81: warning: format '%lx' expects argument of type 'long unsigned int', but argument 8 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
  738 |                 qcow2_log("%s: failure: tag %d, tgt_data %d op %d meta (%p %x %lx %d) res %d\n",
      |                                                                               ~~^
      |                                                                                 |
      |                                                                                 long unsigned int
      |                                                                               %llx
  739 |                         __func__, tag, meta_id, op, this,
  740 |                         get_flags(), get_offset(), refcnt, cqe->res);
      |                                      ~~~~~~~~~~~~                                
      |                                                |
      |                                                uint64_t {aka long long unsigned int}
qcow2/qcow2_meta.cpp: In member function 'virtual void Qcow2SliceMeta::wait_clusters(Qcow2State&, const qcow2_io_ctx_t&)':
qcow2/qcow2_meta.cpp:799:61: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
  799 |                                 cluster_off = virt_offset() + (u64)i << qs.header.cluster_bits;
      |                                               ~~~~~~~~~~~~~~^~~~~~~~
qcow2/qcow2_meta.cpp: In member function 'void Qcow2SliceMeta::reclaim_me()':
qcow2/qcow2_meta.cpp:827:27: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  827 |         for (int i = 0; i < queues; i++) {
      |                         ~~^~~~~~~~
qcow2/qcow2_meta.cpp: In member function 'virtual void Qcow2RefcountBlock::set_entry(uint32_t, uint64_t)':
qcow2/qcow2_meta.cpp:873:58: warning: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
  873 |                 qcow2_log("BUG %s: obj %p flags %x off %lx\n",
      |                                                        ~~^
      |                                                          |
      |                                                          long unsigned int
      |                                                        %llx
  874 |                                 __func__, this, flags, offset);
      |                                                        ~~~~~~
      |                                                        |
      |                                                        uint64_t {aka long long unsigned int}
qcow2/qcow2_meta.cpp: In member function 'virtual void Qcow2L2Table::set_entry(uint32_t, uint64_t)':
qcow2/qcow2_meta.cpp:1001:58: warning: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
 1001 |                 qcow2_log("BUG %s: obj %p flags %x off %lx\n",
      |                                                        ~~^
      |                                                          |
      |                                                          long unsigned int
      |                                                        %llx
 1002 |                                 __func__, this, flags, offset);
      |                                                        ~~~~~~
      |                                                        |
      |                                                        uint64_t {aka long long unsigned int}
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
i586-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fcoroutines -c -o qcow2/ublk-qcow2_flush_meta.o `test -f 'qcow2/qcow2_flush_meta.cpp' || echo './'`qcow2/qcow2_flush_meta.cpp
In file included from qcow2/qcow2.h:16,
                 from qcow2/qcow2_flush_meta.cpp:2:
qcow2/qcow2_meta.h: In member function 'virtual void Qcow2HeaderExtBitmaps::dump() const':
qcow2/qcow2_meta.h:227:80: warning: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type 'long long unsigned int' [-Wformat=]
  227 |                 qcow2_log("%s: type %x len %d nr_bitmap %d bitmap_dir(offset %lx sz %lu)\n",
      |                                                                              ~~^
      |                                                                                |
      |                                                                                long unsigned int
      |                                                                              %llx
  228 |                                 typeid(*this).name(), type, len,
  229 |                                 nr_bitmap, bitmap_directory_offset,
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~              
      |                                            |
      |                                            long long unsigned int
qcow2/qcow2_meta.h:227:87: warning: format '%lu' expects argument of type 'long unsigned int', but argument 7 has type 'long long unsigned int' [-Wformat=]
  227 |                 qcow2_log("%s: type %x len %d nr_bitmap %d bitmap_dir(offset %lx sz %lu)\n",
      |                                                                                     ~~^
      |                                                                                       |
      |                                                                                       long unsigned int
      |                                                                                     %llu
......
  230 |                                 bitmap_directory_size);
      |                                 ~~~~~~~~~~~~~~~~~~~~~                                  
      |                                 |
      |                                 long long unsigned int
qcow2/qcow2_meta.h: In member function 'uint32_t Qcow2TopTable::dirty_blks()':
qcow2/qcow2_meta.h:435:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  435 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2_meta.h: In member function 'int Qcow2TopTable::get_1st_dirty_blk()':
qcow2/qcow2_meta.h:446:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  446 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2.h: In member function 'bool Qcow2ClusterMapping::__entry_is_allocating(uint64_t)':
qcow2/qcow2.h:215:30: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  215 |                 return state != -1;
      |                        ~~~~~~^~~~~
In file included from qcow2/qcow2_common.h:5,
                 from qcow2/qcow2_meta.h:5:
qcow2/qcow2.h: In member function 'uint32_t Qcow2ClusterMapping::entry_get_alloc_owner(uint64_t, bool)':
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
./include/ublksrv_tgt.h:26:15: note: in definition of macro 'ublk_assert'
   26 |         if (!(x)) {     \
      |               ^
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
In file included from ./include/ublksrv.h:15,
                 from ./include/ublksrv_tgt.h:23:
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
qcow2/qcow2_common.h:7:26: note: in expansion of macro 'ublk_assert'
    7 | #define qcow2_assert(x)  ublk_assert(x)
      |                          ^~~~~~~~~~~
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
qcow2/qcow2_flush_meta.cpp: In member function 'void MetaFlushingState::__prep_write_slice(Qcow2State&, const ublksrv_queue*)':
qcow2/qcow2_flush_meta.cpp:237:46: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long long unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  237 |                 qcow2_assert(idx >= 0 && idx < top.get_nr_entries());
      |                                          ~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/ublksrv_tgt.h:26:15: note: in definition of macro 'ublk_assert'
   26 |         if (!(x)) {     \
      |               ^
qcow2/qcow2_flush_meta.cpp:237:17: note: in expansion of macro 'qcow2_assert'
  237 |                 qcow2_assert(idx >= 0 && idx < top.get_nr_entries());
      |                 ^~~~~~~~~~~~
qcow2/qcow2_flush_meta.cpp:237:46: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long long unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  237 |                 qcow2_assert(idx >= 0 && idx < top.get_nr_entries());
      |                                          ~~~~^~~~~~~~~~~~~~~~~~~~~~
qcow2/qcow2_common.h:7:26: note: in expansion of macro 'ublk_assert'
    7 | #define qcow2_assert(x)  ublk_assert(x)
      |                          ^~~~~~~~~~~
qcow2/qcow2_flush_meta.cpp:237:17: note: in expansion of macro 'qcow2_assert'
  237 |                 qcow2_assert(idx >= 0 && idx < top.get_nr_entries());
      |                 ^~~~~~~~~~~~
qcow2/qcow2_flush_meta.cpp: In member function 'void MetaFlushingState::run_flush(Qcow2State&, const ublksrv_queue*, int)':
qcow2/qcow2_flush_meta.cpp:363:53: warning: comparison of integer expressions of different signedness: 'int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
  363 |                 if (top_blk_idx >= 0 && top_blk_idx < top.dirty_blk_size()) {
      |                                         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
qcow2/qcow2_flush_meta.cpp: In member function 'void MetaFlushingState::dump(const char*, int) const':
qcow2/qcow2_flush_meta.cpp:395:83: warning: format '%ld' expects argument of type 'long int', but argument 8 has type 'std::vector<Qcow2SliceMeta*>::size_type' {aka 'unsigned int'} [-Wformat=]
  395 |         qcow2_log("%s %d: mapping %d state %d blk_idx %d entry_idx %d list size(%ld %ld)"
      |                                                                                 ~~^
      |                                                                                   |
      |                                                                                   long int
      |                                                                                 %d
......
  399 |                         slices_to_flush.size(),
      |                         ~~~~~~~~~~~~~~~~~~~~~~                                     
      |                                             |
      |                                             std::vector<Qcow2SliceMeta*>::size_type {aka unsigned int}
qcow2/qcow2_flush_meta.cpp:395:87: warning: format '%ld' expects argument of type 'long int', but argument 9 has type 'std::vector<Qcow2SliceMeta*>::size_type' {aka 'unsigned int'} [-Wformat=]
  395 |         qcow2_log("%s %d: mapping %d state %d blk_idx %d entry_idx %d list size(%ld %ld)"
      |                                                                                     ~~^
      |                                                                                       |
      |                                                                                       long int
      |                                                                                     %d
......
  400 |                         slices_in_flight.size(),
      |                         ~~~~~~~~~~~~~~~~~~~~~~~                                        
      |                                              |
      |                                              std::vector<Qcow2SliceMeta*>::size_type {aka unsigned int}
qcow2/qcow2_flush_meta.cpp: In member function 'int MetaFlushingState::calc_refcount_dirty_blk_range(Qcow2State&, int*, int*)':
qcow2/qcow2_flush_meta.cpp:521:34: warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
  521 |                 qcow2_log("%s: %lx-%lx bad idx %d %d\n", __func__, s, e,
      |                                ~~^                                 ~
      |                                  |                                 |
      |                                  long unsigned int                 uint64_t {aka long long unsigned int}
      |                                %llx
qcow2/qcow2_flush_meta.cpp:521:38: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
  521 |                 qcow2_log("%s: %lx-%lx bad idx %d %d\n", __func__, s, e,
      |                                    ~~^                                ~
      |                                      |                                |
      |                                      long unsigned int                uint64_t {aka long long unsigned int}
      |                                    %llx
qcow2/qcow2_flush_meta.cpp: In constructor 'Qcow2MetaFlushing::Qcow2MetaFlushing(Qcow2State&)':
qcow2/qcow2_flush_meta.cpp:537:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  537 |         for (int i = 0; i < tags.size(); i++)
      |                         ~~^~~~~~~~~~~~~
qcow2/qcow2_flush_meta.cpp: In member function 'void Qcow2MetaFlushing::free_tag(const ublksrv_queue*, int)':
qcow2/qcow2_flush_meta.cpp:554:42: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  554 |         qcow2_assert(tag >= depth && tag < depth + tags.size());
      |                                      ~~~~^~~~~~~~~~~~~~~~~~~~~
./include/ublksrv_tgt.h:26:15: note: in definition of macro 'ublk_assert'
   26 |         if (!(x)) {     \
      |               ^
qcow2/qcow2_flush_meta.cpp:554:9: note: in expansion of macro 'qcow2_assert'
  554 |         qcow2_assert(tag >= depth && tag < depth + tags.size());
      |         ^~~~~~~~~~~~
qcow2/qcow2_flush_meta.cpp:554:42: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  554 |         qcow2_assert(tag >= depth && tag < depth + tags.size());
      |                                      ~~~~^~~~~~~~~~~~~~~~~~~~~
qcow2/qcow2_common.h:7:26: note: in expansion of macro 'ublk_assert'
    7 | #define qcow2_assert(x)  ublk_assert(x)
      |                          ^~~~~~~~~~~
qcow2/qcow2_flush_meta.cpp:554:9: note: in expansion of macro 'qcow2_assert'
  554 |         qcow2_assert(tag >= depth && tag < depth + tags.size());
      |         ^~~~~~~~~~~~
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
i586-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fcoroutines -c -o qcow2/ublk-qcow2.o `test -f 'qcow2/qcow2.cpp' || echo './'`qcow2/qcow2.cpp
In file included from qcow2/qcow2.h:16,
                 from qcow2/qcow2.cpp:2:
qcow2/qcow2_meta.h: In member function 'virtual void Qcow2HeaderExtBitmaps::dump() const':
qcow2/qcow2_meta.h:227:80: warning: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type 'long long unsigned int' [-Wformat=]
  227 |                 qcow2_log("%s: type %x len %d nr_bitmap %d bitmap_dir(offset %lx sz %lu)\n",
      |                                                                              ~~^
      |                                                                                |
      |                                                                                long unsigned int
      |                                                                              %llx
  228 |                                 typeid(*this).name(), type, len,
  229 |                                 nr_bitmap, bitmap_directory_offset,
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~              
      |                                            |
      |                                            long long unsigned int
qcow2/qcow2_meta.h:227:87: warning: format '%lu' expects argument of type 'long unsigned int', but argument 7 has type 'long long unsigned int' [-Wformat=]
  227 |                 qcow2_log("%s: type %x len %d nr_bitmap %d bitmap_dir(offset %lx sz %lu)\n",
      |                                                                                     ~~^
      |                                                                                       |
      |                                                                                       long unsigned int
      |                                                                                     %llu
......
  230 |                                 bitmap_directory_size);
      |                                 ~~~~~~~~~~~~~~~~~~~~~                                  
      |                                 |
      |                                 long long unsigned int
qcow2/qcow2_meta.h: In member function 'uint32_t Qcow2TopTable::dirty_blks()':
qcow2/qcow2_meta.h:435:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  435 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2_meta.h: In member function 'int Qcow2TopTable::get_1st_dirty_blk()':
qcow2/qcow2_meta.h:446:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  446 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2.h: In member function 'bool Qcow2ClusterMapping::__entry_is_allocating(uint64_t)':
qcow2/qcow2.h:215:30: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  215 |                 return state != -1;
      |                        ~~~~~~^~~~~
In file included from qcow2/qcow2_common.h:5,
                 from qcow2/qcow2_meta.h:5:
qcow2/qcow2.h: In member function 'uint32_t Qcow2ClusterMapping::entry_get_alloc_owner(uint64_t, bool)':
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
./include/ublksrv_tgt.h:26:15: note: in definition of macro 'ublk_assert'
   26 |         if (!(x)) {     \
      |               ^
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
In file included from ./include/ublksrv.h:15,
                 from ./include/ublksrv_tgt.h:23:
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
qcow2/qcow2_common.h:7:26: note: in expansion of macro 'ublk_assert'
    7 | #define qcow2_assert(x)  ublk_assert(x)
      |                          ^~~~~~~~~~~
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
qcow2/qcow2.cpp: In member function 'uint32_t Qcow2State::add_meta_io(uint32_t, Qcow2MappingMeta*)':
qcow2/qcow2.cpp:112:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<Qcow2MappingMeta*>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  112 |         for (i = 0; i < v.size(); i++)
      |                     ~~^~~~~~~~~~
qcow2/qcow2.cpp:115:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<Qcow2MappingMeta*>::size_type' {aka 'unsigned int'} [-Wsign-compare]
  115 |         if (i < v.size()) {
      |             ~~^~~~~~~~~~
qcow2/qcow2.cpp: In member function 'void Qcow2ClusterAllocator::alloc_cluster_zeroed(const ublksrv_queue*, int, uint64_t)':
qcow2/qcow2.cpp:552:41: warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
  552 |                 ublk_err( "%s: offset %lx\n", __func__, cluster_offset);
      |                                       ~~^               ~~~~~~~~~~~~~~
      |                                         |               |
      |                                         |               uint64_t {aka long long unsigned int}
      |                                         long unsigned int
      |                                       %llx
qcow2/qcow2.cpp: In member function 'void Qcow2ClusterAllocator::dump_meta()':
qcow2/qcow2.cpp:582:19: warning: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'std::unordered_map<long long unsigned int, Qcow2ClusterState*>::size_type' {aka 'unsigned int'} [-Wformat=]
  582 |         qcow2_log("cluster allocator %s: total allocates %" PRIu64 " clusters, bytes %" PRIu64 "KB, max states %u/%lu\n",
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......
  585 |                         max_alloc_states, alloc_state.size());
      |                                           ~~~~~~~~~~~~~~~~~~
      |                                                           |
      |                                                           std::unordered_map<long long unsigned int, Qcow2ClusterState*>::size_type {aka unsigned int}
qcow2/qcow2.cpp: In member function 'uint64_t Qcow2ClusterAllocator::allocate_cluster(const qcow2_io_ctx_t&)':
qcow2/qcow2.cpp:699:25: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'unsigned int' [-Wsign-compare]
  699 |         if (++slice_idx < cache.get_nr_slices())
      |             ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
qcow2/qcow2.cpp: In member function 'Qcow2L2Table* Qcow2ClusterMapping::create_and_add_l2(const qcow2_io_ctx_t&, uint64_t)':
qcow2/qcow2.cpp:798:24: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
  798 |         if (l2_cluster == -1) {
      |             ~~~~~~~~~~~^~~~~
qcow2/qcow2.cpp: In member function 'int Qcow2ClusterMapping::build_mapping(const qcow2_io_ctx_t&, uint64_t, Qcow2L2Table*, uint32_t, uint64_t*)':
qcow2/qcow2.cpp:909:26: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
  909 |         if (data_cluster == -1) {
      |             ~~~~~~~~~~~~~^~~~~
qcow2/qcow2.cpp: In member function 'void Qcow2ClusterMapping::dump_meta()':
qcow2/qcow2.cpp:1016:62: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'std::unordered_map<long long unsigned int, unsigned int>::size_type' {aka 'unsigned int'} [-Wformat=]
 1016 |         qcow2_log("cluster mapping%s: max_alloc_entries %u/%lu\n", __func__,
      |                                                            ~~^
      |                                                              |
      |                                                              long unsigned int
      |                                                            %u
 1017 |                         max_alloc_entries, entry_alloc.size());
      |                                            ~~~~~~~~~~~~~~~~~~ 
      |                                                            |
      |                                                            std::unordered_map<long long unsigned int, unsigned int>::size_type {aka unsigned int}
qcow2/qcow2.cpp: In instantiation of 'void slice_cache<T>::add_slice_to_evicted_list(uint64_t, T*) [with T = Qcow2RefcountBlock; uint64_t = long long unsigned int]':
qcow2/qcow2.cpp:303:3:   required from 'T* slice_cache<T>::alloc_slice(Qcow2State&, const qcow2_io_ctx_t&, uint64_t, uint64_t, uint32_t) [with T = Qcow2RefcountBlock; uint64_t = long long unsigned int; uint32_t = unsigned int]'
  303 |                 add_slice_to_evicted_list(old->virt_offset(), old);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~
qcow2/qcow2.cpp:634:24:   required from here
  634 |         rb = cache.alloc_slice(state, ioc, virt_offset, host_offset, idx);
      |              ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
qcow2/qcow2.cpp:343:27: warning: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
  343 |                 qcow2_log("%s: add duplicated cache virt_offset %" PRIx64 ", remove old entry(%p %lx/%lx %x %d)\n",
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  344 |                                 __func__, virt_offset, m, m->virt_offset(),
      |                                                           ~~~~~~~~~~~~~~~~
      |                                                                         |
      |                                                                         uint64_t {aka long long unsigned int}
qcow2/qcow2.cpp:343:27: warning: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
  343 |                 qcow2_log("%s: add duplicated cache virt_offset %" PRIx64 ", remove old entry(%p %lx/%lx %x %d)\n",
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  344 |                                 __func__, virt_offset, m, m->virt_offset(),
  345 |                                 m->get_offset(), m->get_flags(), m->read_ref());
      |                                 ~~~~~~~~~~~~~~~
      |                                              |
      |                                              uint64_t {aka long long unsigned int}
qcow2/qcow2.cpp: In instantiation of 'void slice_cache<T>::add_slice_to_evicted_list(uint64_t, T*) [with T = Qcow2L2Table; uint64_t = long long unsigned int]':
qcow2/qcow2.cpp:303:3:   required from 'T* slice_cache<T>::alloc_slice(Qcow2State&, const qcow2_io_ctx_t&, uint64_t, uint64_t, uint32_t) [with T = Qcow2L2Table; uint64_t = long long unsigned int; uint32_t = unsigned int]'
  303 |                 add_slice_to_evicted_list(old->virt_offset(), old);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~
qcow2/qcow2.cpp:810:25:   required from here
  810 |                 l2 = cache.alloc_slice(state, ioc, l2_slice_key(offset),
      |                      ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  811 |                                 host_offset, idx);
      |                                 ~~~~~~~~~~~~~~~~~
qcow2/qcow2.cpp:343:27: warning: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
  343 |                 qcow2_log("%s: add duplicated cache virt_offset %" PRIx64 ", remove old entry(%p %lx/%lx %x %d)\n",
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  344 |                                 __func__, virt_offset, m, m->virt_offset(),
      |                                                           ~~~~~~~~~~~~~~~~
      |                                                                         |
      |                                                                         uint64_t {aka long long unsigned int}
qcow2/qcow2.cpp:343:27: warning: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
  343 |                 qcow2_log("%s: add duplicated cache virt_offset %" PRIx64 ", remove old entry(%p %lx/%lx %x %d)\n",
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  344 |                                 __func__, virt_offset, m, m->virt_offset(),
  345 |                                 m->get_offset(), m->get_flags(), m->read_ref());
      |                                 ~~~~~~~~~~~~~~~
      |                                              |
      |                                              uint64_t {aka long long unsigned int}
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
/bin/sh ./libtool  --tag=CXX   --mode=link i586-alt-linux-g++ -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fcoroutines   -o ublk ublk-ublksrv_tgt.o ublk-tgt_null.o ublk-tgt_loop.o qcow2/ublk-tgt_qcow2.o qcow2/ublk-qcow2.o qcow2/ublk-qcow2_meta.o qcow2/ublk-utils.o qcow2/ublk-qcow2_flush_meta.o nbd/ublk-tgt_nbd.o nbd/ublk-cliserv.o nbd/ublk-nbd-client.o lib/libublksrv.la -luring -lpthread 
libtool: link: i586-alt-linux-g++ -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fcoroutines -o .libs/ublk ublk-ublksrv_tgt.o ublk-tgt_null.o ublk-tgt_loop.o qcow2/ublk-tgt_qcow2.o qcow2/ublk-qcow2.o qcow2/ublk-qcow2_meta.o qcow2/ublk-utils.o qcow2/ublk-qcow2_flush_meta.o nbd/ublk-tgt_nbd.o nbd/ublk-cliserv.o nbd/ublk-nbd-client.o  lib/.libs/libublksrv.so -luring -lpthread
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
+ exit 0
Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.91040
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ /bin/chmod -Rf u+rwX -- /usr/src/tmp/ubdsrv-buildroot
+ :
+ /bin/rm -rf -- /usr/src/tmp/ubdsrv-buildroot
+ PATH=/usr/libexec/rpm-build:/usr/src/bin:/usr/bin:/bin:/usr/local/bin:/usr/games
+ cd ubdsrv-1.2
+ make 'INSTALL=/usr/libexec/rpm-build/install -p' install DESTDIR=/usr/src/tmp/ubdsrv-buildroot
make: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
Making install in include
make[1]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2/include'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2/include'
make[2]: Nothing to be done for 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/src/tmp/ubdsrv-buildroot/usr/include'
 /usr/libexec/rpm-build/install -p -m 644 ublksrv.h ublk_cmd.h ublksrv_aio.h ublksrv_utils.h '/usr/src/tmp/ubdsrv-buildroot/usr/include'
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2/include'
make[1]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2/include'
Making install in lib
make[1]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2/lib'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2/lib'
 /usr/bin/mkdir -p '/usr/src/tmp/ubdsrv-buildroot/usr/lib'
 /bin/sh ../libtool   --mode=install /usr/libexec/rpm-build/install -p   libublksrv.la '/usr/src/tmp/ubdsrv-buildroot/usr/lib'
libtool: install: /usr/libexec/rpm-build/install -p .libs/libublksrv.so.0.0.0 /usr/src/tmp/ubdsrv-buildroot/usr/lib/libublksrv.so.0.0.0
libtool: install: (cd /usr/src/tmp/ubdsrv-buildroot/usr/lib && { ln -s -f libublksrv.so.0.0.0 libublksrv.so.0 || { rm -f libublksrv.so.0 && ln -s libublksrv.so.0.0.0 libublksrv.so.0; }; })
libtool: install: (cd /usr/src/tmp/ubdsrv-buildroot/usr/lib && { ln -s -f libublksrv.so.0.0.0 libublksrv.so || { rm -f libublksrv.so && ln -s libublksrv.so.0.0.0 libublksrv.so; }; })
libtool: install: /usr/libexec/rpm-build/install -p .libs/libublksrv.lai /usr/src/tmp/ubdsrv-buildroot/usr/lib/libublksrv.la
libtool: warning: remember to run 'libtool --finish /usr/lib'
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2/lib'
make[1]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2/lib'
Making install in tests
make[1]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2/tests'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2/tests'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2/tests'
make[1]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2/tests'
make[1]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
 /usr/bin/mkdir -p '/usr/src/tmp/ubdsrv-buildroot/usr/sbin'
 /usr/libexec/rpm-build/install -p utils/ublk_chown.sh utils/ublk_chown_docker.sh '/usr/src/tmp/ubdsrv-buildroot/usr/sbin'
 /usr/bin/mkdir -p '/usr/src/tmp/ubdsrv-buildroot/usr/sbin'
  /bin/sh ./libtool   --mode=install /usr/libexec/rpm-build/install -p ublk ublk_user_id '/usr/src/tmp/ubdsrv-buildroot/usr/sbin'
libtool: warning: 'lib/libublksrv.la' has not been installed in '/usr/lib'
libtool: install: /usr/libexec/rpm-build/install -p .libs/ublk /usr/src/tmp/ubdsrv-buildroot/usr/sbin/ublk
libtool: warning: 'lib/libublksrv.la' has not been installed in '/usr/lib'
libtool: install: /usr/libexec/rpm-build/install -p .libs/ublk_user_id /usr/src/tmp/ubdsrv-buildroot/usr/sbin/ublk_user_id
 /usr/bin/mkdir -p '/usr/src/tmp/ubdsrv-buildroot/usr/lib/pkgconfig'
 /usr/libexec/rpm-build/install -p -m 644 ublksrv.pc '/usr/src/tmp/ubdsrv-buildroot/usr/lib/pkgconfig'
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make[1]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
make: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.2'
+ /usr/lib/rpm/brp-alt
Cleaning files in /usr/src/tmp/ubdsrv-buildroot (auto)
removed './usr/lib/libublksrv.la'
mode of './usr/lib/libublksrv.so.0.0.0' changed from 0755 (rwxr-xr-x) to 0644 (rw-r--r--)
Verifying and fixing files in /usr/src/tmp/ubdsrv-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig)
Checking contents of files in /usr/src/tmp/ubdsrv-buildroot/ (default)
Compressing files in /usr/src/tmp/ubdsrv-buildroot (auto)
Adjusting library links in /usr/src/tmp/ubdsrv-buildroot
./usr/lib: (from <cmdline>:0)
	libublksrv.so.0 -> libublksrv.so.0.0.0
Verifying ELF objects in /usr/src/tmp/ubdsrv-buildroot (arch=strict,fhs=strict,lfs=strict,lint=strict,rpath=strict,stack=strict,textrel=strict,unresolved=strict)
Splitting links to aliased files under /{,s}bin in /usr/src/tmp/ubdsrv-buildroot
Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.91040
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd ubdsrv-1.2
+ ./ublk --version
ublksrv 1.2
+ truncate -s 256M disk.img
+ vm-run --kvm=cond --sbin --cpu=2 --modules=ublk_drv --heredoc
+ time qemu-system-i386 -enable-kvm -smp cores=2 -m 2047 -serial mon:stdio -nodefaults -nographic -no-reboot -fsdev local,id=root,path=/,security_model=none,multidevs=remap -device virtio-9p-pci,fsdev=root,mount_tag=virtio-9p:/ -device virtio-rng-pci -kernel /boot/vmlinuz-6.11.7-6.11-alt1 -initrd /usr/src/tmp/initramfs-6.11.7-6.11-alt1.img -sandbox on,spawn=deny -cpu max -bios bios.bin -append 'console=ttyS0 mitigations=off nokaslr quiet panic=-1 SCRIPT=/usr/src/tmp/vm.zMjmlOR81t no_timer_check'
++ ./ublk features
ublk_drv features: 0x1fe
	COMP_IN_TASK        : 0x2
	GET_DATA            : 0x4
	USER_RECOVERY       : 0x8
	RECOVERY_REISSUE    : 0x10
	UNPRIVILEGED_DEV    : 0x20
	CMD_IOCTL_ENCODE    : 0x40
	unknown             : 0x80
++ ./ublk list
++ ./ublk add -t loop -f disk.img
dev id 0: nr_hw_queues 1 queue_depth 128 block size 512 dev_capacity 524288
	max rq size 524288 daemon pid 227 flags 0x42 state LIVE
	ublkc: 244:0 ublkb: 259:0 owner: 0:0
	queue 0: tid 228 affinity(0 1 )
	target {"backing_file":"disk.img","dev_size":268435456,"direct_io":0,"name":"loop","type":1}
++ ./ublk add -t null
dev id 1: nr_hw_queues 1 queue_depth 128 block size 512 dev_capacity 4194304
	max rq size 524288 daemon pid 246 flags 0x42 state LIVE
	ublkc: 244:1 ublkb: 259:1 owner: 0:0
	queue 0: tid 247 affinity(0 1 )
	target {"dev_size":2147483648,"name":"null","type":0}
++ ls -l /dev/ublk-control /dev/ublkb0 /dev/ublkb1 /dev/ublkc0 /dev/ublkc1
crw------- 1 root root  10, 123 Nov  9 09:17 /dev/ublk-control
brw------- 1 root root 259,   0 Nov  9 09:17 /dev/ublkb0
brw------- 1 root root 259,   1 Nov  9 09:17 /dev/ublkb1
crw------- 1 root root 244,   0 Nov  9 09:17 /dev/ublkc0
crw------- 1 root root 244,   1 Nov  9 09:17 /dev/ublkc1
++ badblocks -w -s /dev/ublkb0 2048
++ grep -c .
Testing with pattern 0xaa:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Reading and comparing:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Testing with pattern 0x55:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Reading and comparing:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Testing with pattern 0xff:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Reading and comparing:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Testing with pattern 0x00:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Reading and comparing:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
0
++ echo 'No corruption'
No corruption
++ badblocks -w -s /dev/ublkb1 1024
++ grep -c .
Testing with pattern 0xaa:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Reading and comparing:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Testing with pattern 0x55:   0.00% done, 0:00 elapsed. (0/0/960 errors)done                                                 
Reading and comparing:   0.00% done, 0:00 elapsed. (0/0/960 errors)done                                                 
Testing with pattern 0xff:   0.00% done, 0:00 elapsed. (0/0/1024 errors)done                                                 
Reading and comparing:   0.00% done, 0:00 elapsed. (0/0/1024 errors)done                                                 
Testing with pattern 0x00:   0.00% done, 0:00 elapsed. (0/0/1024 errors)done                                                 
Reading and comparing:   0.00% done, 0:00 elapsed. (0/0/1024 errors)done                                                 
1024
++ echo 'No false positive'
No false positive
++ ./ublk del -n 0
++ ./ublk del -n 1
1.70user 2.21system 0:02.89elapsed 135%CPU (0avgtext+0avgdata 184164maxresident)k
0inputs+0outputs (0major+14320minor)pagefaults 0swaps
+ exit 0
Processing files: ubdsrv-1.2-alt1
Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.61977
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd ubdsrv-1.2
+ DOCDIR=/usr/src/tmp/ubdsrv-buildroot/usr/share/doc/ubdsrv-1.2
+ export DOCDIR
+ rm -rf /usr/src/tmp/ubdsrv-buildroot/usr/share/doc/ubdsrv-1.2
+ /bin/mkdir -p /usr/src/tmp/ubdsrv-buildroot/usr/share/doc/ubdsrv-1.2
+ cp -prL COPYING COPYING.LGPL LICENSE README.rst demo_event.c demo_null.c /usr/src/tmp/ubdsrv-buildroot/usr/share/doc/ubdsrv-1.2
+ chmod -R go-w /usr/src/tmp/ubdsrv-buildroot/usr/share/doc/ubdsrv-1.2
+ chmod -R a+rX /usr/src/tmp/ubdsrv-buildroot/usr/share/doc/ubdsrv-1.2
+ exit 0
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.3xq8rh
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell)
lib.prov: /usr/src/tmp/ubdsrv-buildroot/usr/lib/libublksrv.so.0: 98 symbols, 17 bpp
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.PXjMpb
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
find-requires: FINDPACKAGE-COMMANDS: chown dirname docker grep ps
Provides: libublksrv.so.0 = set:kd37SciuxgtEVAlt8jJiFhCZaDjjyryGwU7wGZGxunotg5taG7p98H8ZFMZBoIp5lBzCtF9jqxtgab2Bz8EguwQdLmjK0iMuQHwJtY0pHwBvPg5QRrazOMlq2ElFMq6DN43miCsN0NH8dYMYAQAv8MIwPuTnr1CJOcWfTp6pBdW1f7yjZASE6CylDlF2ChhpHdq2Ba
Requires: /bin/bash, /lib/ld-linux.so.2, /usr/bin/docker, coreutils, grep, libc.so.6(GLIBC_2.0), libc.so.6(GLIBC_2.1), libc.so.6(GLIBC_2.1.3), libc.so.6(GLIBC_2.2), libc.so.6(GLIBC_2.28), libc.so.6(GLIBC_2.3.4), libc.so.6(GLIBC_2.32), libc.so.6(GLIBC_2.33), libc.so.6(GLIBC_2.34), libc.so.6(GLIBC_2.38), libc.so.6(GLIBC_2.4), libc.so.6(GLIBC_2.7), libc.so.6(GLIBC_2.8), libgcc_s.so.1(GCC_3.0), libgcc_s.so.1(GCC_3.3.1), libstdc++.so.6(CXXABI_1.3), libstdc++.so.6(CXXABI_1.3.9), libstdc++.so.6(GLIBCXX_3.4), libstdc++.so.6(GLIBCXX_3.4.11), libstdc++.so.6(GLIBCXX_3.4.14), libstdc++.so.6(GLIBCXX_3.4.15), libstdc++.so.6(GLIBCXX_3.4.18), libstdc++.so.6(GLIBCXX_3.4.19), libstdc++.so.6(GLIBCXX_3.4.21), libstdc++.so.6(GLIBCXX_3.4.29), libstdc++.so.6(GLIBCXX_3.4.32), libstdc++.so.6(GLIBCXX_3.4.9), liburing.so.2 >= set:kgBn9TOyZnQIjRn7Pg3u4ADa0SW3, liburing.so.2(LIBURING_2.0), liburing.so.2(LIBURING_2.1), liburing.so.2(LIBURING_2.2), procps, rtld(GNU_HASH)
Requires(rpmlib): rpmlib(SetVersions)
Finding debuginfo files (using /usr/lib/rpm/find-debuginfo-files)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.wro84F
Creating ubdsrv-debuginfo package
Processing files: libublksrv-devel-1.2-alt1
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.ww1Kqu
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.hftxb9
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
Provides: pkgconfig(ublksrv) = 1.2
Requires: ubdsrv = 1.2-alt1, /usr/lib/libublksrv.so.0.0.0, /usr/lib/pkgconfig, glibc-kernheaders-generic, liburing-devel, pkgconfig(liburing)
Finding debuginfo files (using /usr/lib/rpm/find-debuginfo-files)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.uaDkSc
Processing files: ubdsrv-debuginfo-1.2-alt1
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.sOWECU
find-provides: running scripts (debuginfo)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.7EQksf
find-requires: running scripts (debuginfo)
Provides: debug(libublksrv.so.0)
Requires: ubdsrv = 1.2-alt1, /usr/lib/debug/lib/ld-linux.so.2.debug, debug(libc.so.6), debug(libgcc_s.so.1), debug(libstdc++.so.6), debug(liburing.so.2)
Adding to libublksrv-devel a strict dependency on ubdsrv
Adding to ubdsrv-debuginfo a strict dependency on ubdsrv
Removing 1 extra deps from libublksrv-devel due to dependency on ubdsrv
Wrote: /usr/src/RPM/RPMS/i586/ubdsrv-1.2-alt1.i586.rpm (w2.lzdio)
Wrote: /usr/src/RPM/RPMS/i586/libublksrv-devel-1.2-alt1.i586.rpm (w2.lzdio)
Wrote: /usr/src/RPM/RPMS/i586/ubdsrv-debuginfo-1.2-alt1.i586.rpm (w2.lzdio)
43.43user 12.33system 0:35.12elapsed 158%CPU (0avgtext+0avgdata 295376maxresident)k
0inputs+0outputs (0major+2141148minor)pagefaults 0swaps
3.73user 3.92system 0:58.84elapsed 13%CPU (0avgtext+0avgdata 130188maxresident)k
456inputs+0outputs (0major+265259minor)pagefaults 0swaps
--- ubdsrv-1.2-alt1.i586.rpm.repo	2024-08-15 06:26:09.000000000 +0000
+++ ubdsrv-1.2-alt1.i586.rpm.hasher	2024-11-09 09:18:05.252380623 +0000
@@ -33,3 +33,2 @@
 Requires: libgcc_s.so.1(GCC_3.3.1)  
-Requires: libgcc_s.so.1(GLIBC_2.0)  
 Requires: libstdc++.so.6(CXXABI_1.3)  
@@ -46,3 +45,3 @@
 Requires: libstdc++.so.6(GLIBCXX_3.4.9)  
-Requires: liburing.so.2 >= set:jfBnRQmra5Z7QIjRHzpE1u48l2
+Requires: liburing.so.2 >= set:kgBn9TOyZnQIjRn7Pg3u4ADa0SW3
 Requires: rpmlib(SetVersions)  
@@ -57,7 +56,7 @@
 File: /usr/lib/libublksrv.so.0	120777	root:root		libublksrv.so.0.0.0
-File: /usr/lib/libublksrv.so.0.0.0	100644	root:root	374b2aa17668fc03be55f3ff36fbe1b1	
-File: /usr/sbin/ublk	100755	root:root	ecf3591a2655d1e7ad6e682d23f8ad71	
+File: /usr/lib/libublksrv.so.0.0.0	100644	root:root	6db4f070563a6dfc632500bec72801c1	
+File: /usr/sbin/ublk	100755	root:root	36f1fd00f4ff744afd2e8df1c72fb7b6	
 File: /usr/sbin/ublk_chown.sh	100755	root:root	c4f22c55c2f87729cc7868a65feeec4b	
 File: /usr/sbin/ublk_chown_docker.sh	100755	root:root	b4f812f915a5f33bf84ca34372a640c3	
-File: /usr/sbin/ublk_user_id	100755	root:root	758352134ee279be557ff79e7f077b6a	
+File: /usr/sbin/ublk_user_id	100755	root:root	f915aa37c73d702c1d0601603bf4132f	
 File: /usr/share/doc/ubdsrv-1.2	40755	root:root		
@@ -69,2 +68,2 @@
 File: /usr/share/doc/ubdsrv-1.2/demo_null.c	100644	root:root	1978ef5e927fd3da3390e49116fefda6	
-RPMIdentity: eef3acd97b844f9f4cdf1d329841f0959339105744b2d78cd524f51d875271fc2fac9b927f6b82416c3cdcf16113c77dc2c38bdc21e6eccec3453b6209c35903
+RPMIdentity: 081f8681f783fa04ffb50995c1b72f8209d9b760b8a641ea8404e7e7f9070eba90fb06c13ff3f1f69b1744004e1187fca04d169261eb8017aa6a71b2b1b632e8
--- ubdsrv-debuginfo-1.2-alt1.i586.rpm.repo	2024-08-15 06:26:09.000000000 +0000
+++ ubdsrv-debuginfo-1.2-alt1.i586.rpm.hasher	2024-11-09 09:18:05.321381707 +0000
@@ -1,10 +1,10 @@
-/usr/lib/debug/.build-id/60	40755	root:root	
-/usr/lib/debug/.build-id/60/bf496bad3a828c5cb6c557dabf3355d4383aff	120777	root:root	../../../../sbin/ublk
-/usr/lib/debug/.build-id/60/bf496bad3a828c5cb6c557dabf3355d4383aff.debug	120777	root:root	../../usr/sbin/ublk.debug
-/usr/lib/debug/.build-id/7b	40755	root:root	
-/usr/lib/debug/.build-id/7b/0f67b470da68a7f82d04b035cac0a58e3853c0	120777	root:root	../../../libublksrv.so.0.0.0
-/usr/lib/debug/.build-id/7b/0f67b470da68a7f82d04b035cac0a58e3853c0.debug	120777	root:root	../../usr/lib/libublksrv.so.0.0.0.debug
-/usr/lib/debug/.build-id/b6	40755	root:root	
-/usr/lib/debug/.build-id/b6/134ae26c4b86e8387fa38b5d3085b3e49dc496	120777	root:root	../../../../sbin/ublk_user_id
-/usr/lib/debug/.build-id/b6/134ae26c4b86e8387fa38b5d3085b3e49dc496.debug	120777	root:root	../../usr/sbin/ublk_user_id.debug
+/usr/lib/debug/.build-id/2a	40755	root:root	
+/usr/lib/debug/.build-id/2a/12354ba431cbd87a8537c6bf0ccd500fe96d8c	120777	root:root	../../../../sbin/ublk
+/usr/lib/debug/.build-id/2a/12354ba431cbd87a8537c6bf0ccd500fe96d8c.debug	120777	root:root	../../usr/sbin/ublk.debug
+/usr/lib/debug/.build-id/b1	40755	root:root	
+/usr/lib/debug/.build-id/b1/4f5585781f828727e0f1e1ab5c8d6cd9553b0a	120777	root:root	../../../libublksrv.so.0.0.0
+/usr/lib/debug/.build-id/b1/4f5585781f828727e0f1e1ab5c8d6cd9553b0a.debug	120777	root:root	../../usr/lib/libublksrv.so.0.0.0.debug
+/usr/lib/debug/.build-id/f9	40755	root:root	
+/usr/lib/debug/.build-id/f9/4aeee1471fc0a821ac2a6f115d7a27ee60a9bf	120777	root:root	../../../../sbin/ublk_user_id
+/usr/lib/debug/.build-id/f9/4aeee1471fc0a821ac2a6f115d7a27ee60a9bf.debug	120777	root:root	../../usr/sbin/ublk_user_id.debug
 /usr/lib/debug/usr/lib/libublksrv.so.0.0.0.debug	100644	root:root	
@@ -61,15 +61,15 @@
 Provides: ubdsrv-debuginfo = 1.2-alt1:sisyphus+355036.100.2.1
-File: /usr/lib/debug/.build-id/60	40755	root:root		
-File: /usr/lib/debug/.build-id/60/bf496bad3a828c5cb6c557dabf3355d4383aff	120777	root:root		../../../../sbin/ublk
-File: /usr/lib/debug/.build-id/60/bf496bad3a828c5cb6c557dabf3355d4383aff.debug	120777	root:root		../../usr/sbin/ublk.debug
-File: /usr/lib/debug/.build-id/7b	40755	root:root		
-File: /usr/lib/debug/.build-id/7b/0f67b470da68a7f82d04b035cac0a58e3853c0	120777	root:root		../../../libublksrv.so.0.0.0
-File: /usr/lib/debug/.build-id/7b/0f67b470da68a7f82d04b035cac0a58e3853c0.debug	120777	root:root		../../usr/lib/libublksrv.so.0.0.0.debug
-File: /usr/lib/debug/.build-id/b6	40755	root:root		
-File: /usr/lib/debug/.build-id/b6/134ae26c4b86e8387fa38b5d3085b3e49dc496	120777	root:root		../../../../sbin/ublk_user_id
-File: /usr/lib/debug/.build-id/b6/134ae26c4b86e8387fa38b5d3085b3e49dc496.debug	120777	root:root		../../usr/sbin/ublk_user_id.debug
-File: /usr/lib/debug/usr/lib/libublksrv.so.0.0.0.debug	100644	root:root	0c32fb22577d004569f9ed898d2dcfe4	
+File: /usr/lib/debug/.build-id/2a	40755	root:root		
+File: /usr/lib/debug/.build-id/2a/12354ba431cbd87a8537c6bf0ccd500fe96d8c	120777	root:root		../../../../sbin/ublk
+File: /usr/lib/debug/.build-id/2a/12354ba431cbd87a8537c6bf0ccd500fe96d8c.debug	120777	root:root		../../usr/sbin/ublk.debug
+File: /usr/lib/debug/.build-id/b1	40755	root:root		
+File: /usr/lib/debug/.build-id/b1/4f5585781f828727e0f1e1ab5c8d6cd9553b0a	120777	root:root		../../../libublksrv.so.0.0.0
+File: /usr/lib/debug/.build-id/b1/4f5585781f828727e0f1e1ab5c8d6cd9553b0a.debug	120777	root:root		../../usr/lib/libublksrv.so.0.0.0.debug
+File: /usr/lib/debug/.build-id/f9	40755	root:root		
+File: /usr/lib/debug/.build-id/f9/4aeee1471fc0a821ac2a6f115d7a27ee60a9bf	120777	root:root		../../../../sbin/ublk_user_id
+File: /usr/lib/debug/.build-id/f9/4aeee1471fc0a821ac2a6f115d7a27ee60a9bf.debug	120777	root:root		../../usr/sbin/ublk_user_id.debug
+File: /usr/lib/debug/usr/lib/libublksrv.so.0.0.0.debug	100644	root:root	861e5a8722a7dac34cb46b3476e852e2	
 File: /usr/lib/debug/usr/lib/libublksrv.so.0.debug	120777	root:root		libublksrv.so.0.0.0.debug
-File: /usr/lib/debug/usr/sbin/ublk.debug	100644	root:root	05ce950b4013401a7e6f936d25eb55dc	
-File: /usr/lib/debug/usr/sbin/ublk_user_id.debug	100644	root:root	3d6d05f5ca7be6c8f434de3d1d769c1b	
+File: /usr/lib/debug/usr/sbin/ublk.debug	100644	root:root	c80fc10bd8c9389a38bf62453e3054c0	
+File: /usr/lib/debug/usr/sbin/ublk_user_id.debug	100644	root:root	3515babc3c7e5a853b7876a41bc67dc9	
 File: /usr/src/debug/ubdsrv-1.2	40755	root:root		
@@ -113,2 +113,2 @@
 File: /usr/src/debug/ubdsrv-1.2/utils/ublk_user_id.c	100644	root:root	9a6728059d7001dbd96ac88985264237	
-RPMIdentity: 700671e1c4f583c77775ebebd9eb9093b280a86162032418063d67c9d6ad6877039ee33b55090b80271528999ea3d4ec21d54c4ef8610a8285c043969b70ebe7
+RPMIdentity: 6c17224d0d4deb10bb95e519e6d9f727ab9e2da1140f447a27ef25dd9624f66086b223f7587d6b76f89a51df35eef0ec4649d1d1cc2bae81f3db976713e7d75d