* [PATCH v3 0/4] make vm-build-freebsd fixes
@ 2024-02-06 0:21 Ilya Leoshkevich
2024-02-06 0:22 ` [PATCH v3 1/4] tests/vm: Set UseDNS=no in the sshd configuration Ilya Leoshkevich
` (4 more replies)
0 siblings, 5 replies; 9+ messages in thread
From: Ilya Leoshkevich @ 2024-02-06 0:21 UTC (permalink / raw)
To: Paolo Bonzini, Alex Bennée, Ed Maste, Li-Wen Hsu, Warner Losh
Cc: Marc-André Lureau, Daniel P. Berrangé,
Thomas Huth, Philippe Mathieu-Daudé,
Wainer dos Santos Moschetta, Beraldo Leal, Kyle Evans,
qemu-devel, Ilya Leoshkevich
v2: https://lists.gnu.org/archive/html/qemu-devel/2024-02/msg00890.html
v2 -> v3: Structure the meson check similar to have_asan_fiber;
Reduce the context size a little (Philippe).
v1: https://lists.gnu.org/archive/html/qemu-devel/2024-01/msg05155.html
v1 -> v2: Link with libinotify instead of disabling the inotify
support (Daniel).
Use a bit more context lines in order to prevent the
incorrect application of the test patch.
Hi,
I needed to verify that my qemu-user changes didn't break BSD, and
Daniel Berrange suggested vm-build-freebsd on IRC. I had several
problems with it, which this series resolves.
Best regards,
Ilya
Ilya Leoshkevich (4):
tests/vm: Set UseDNS=no in the sshd configuration
tests/vm/freebsd: Reload the sshd configuration
test-util-filemonitor: Adapt to the FreeBSD inotify rename semantics
meson: Link with libinotify on FreeBSD
meson.build | 23 +++++++++++++++++++----
tests/unit/test-util-filemonitor.c | 8 ++++++++
tests/vm/basevm.py | 2 ++
tests/vm/freebsd | 1 +
util/meson.build | 6 +++++-
5 files changed, 35 insertions(+), 5 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3 1/4] tests/vm: Set UseDNS=no in the sshd configuration
2024-02-06 0:21 [PATCH v3 0/4] make vm-build-freebsd fixes Ilya Leoshkevich
@ 2024-02-06 0:22 ` Ilya Leoshkevich
2024-02-06 0:22 ` [PATCH v3 2/4] tests/vm/freebsd: Reload " Ilya Leoshkevich
` (3 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Ilya Leoshkevich @ 2024-02-06 0:22 UTC (permalink / raw)
To: Paolo Bonzini, Alex Bennée, Ed Maste, Li-Wen Hsu, Warner Losh
Cc: Marc-André Lureau, Daniel P. Berrangé,
Thomas Huth, Philippe Mathieu-Daudé,
Wainer dos Santos Moschetta, Beraldo Leal, Kyle Evans,
qemu-devel, Ilya Leoshkevich
make vm-build-freebsd sometimes fails with "Connection timed out during
banner exchange". The client strace shows:
13:59:30 write(3, "SSH-2.0-OpenSSH_9.3\r\n", 21) = 21
13:59:30 getpid() = 252655
13:59:30 poll([{fd=3, events=POLLIN}], 1, 5000) = 1 ([{fd=3, revents=POLLIN}])
13:59:32 read(3, "S", 1) = 1
13:59:32 poll([{fd=3, events=POLLIN}], 1, 3625) = 1 ([{fd=3, revents=POLLIN}])
13:59:32 read(3, "S", 1) = 1
13:59:32 poll([{fd=3, events=POLLIN}], 1, 3625) = 1 ([{fd=3, revents=POLLIN}])
13:59:32 read(3, "H", 1) = 1
There is a 2s delay during connection, and ConnectTimeout is set to 1.
Raising it makes the issue go away, but we can do better. The server
truss shows:
888: 27.811414714 socket(PF_INET,SOCK_DGRAM|SOCK_CLOEXEC,0) = 5 (0x5)
888: 27.811765030 connect(5,{ AF_INET 10.0.2.3:53 },16) = 0 (0x0)
888: 27.812166941 sendto(5,"\^Z/\^A\0\0\^A\0\0\0\0\0\0\^A2"...,39,0,NULL,0) = 39 (0x27)
888: 29.363970743 poll({ 5/POLLRDNORM },1,5000) = 1 (0x1)
So the delay is due to a DNS query. Disable DNS queries in the server
config.
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
---
tests/vm/basevm.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
index 61725b83254..c0d62c08031 100644
--- a/tests/vm/basevm.py
+++ b/tests/vm/basevm.py
@@ -406,40 +406,42 @@ def console_send(self, command):
vm.console_socket.send(char.encode("utf-8"))
time.sleep(0.01)
def console_wait_send(self, wait, command):
self.console_wait(wait)
self.console_send(command)
def console_ssh_init(self, prompt, user, pw):
sshkey_cmd = "echo '%s' > .ssh/authorized_keys\n" \
% self._config['ssh_pub_key'].rstrip()
self.console_wait_send("login:", "%s\n" % user)
self.console_wait_send("Password:", "%s\n" % pw)
self.console_wait_send(prompt, "mkdir .ssh\n")
self.console_wait_send(prompt, sshkey_cmd)
self.console_wait_send(prompt, "chmod 755 .ssh\n")
self.console_wait_send(prompt, "chmod 644 .ssh/authorized_keys\n")
def console_sshd_config(self, prompt):
self.console_wait(prompt)
self.console_send("echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config\n")
+ self.console_wait(prompt)
+ self.console_send("echo 'UseDNS no' >> /etc/ssh/sshd_config\n")
for var in self.envvars:
self.console_wait(prompt)
self.console_send("echo 'AcceptEnv %s' >> /etc/ssh/sshd_config\n" % var)
def print_step(self, text):
sys.stderr.write("### %s ...\n" % text)
def wait_ssh(self, wait_root=False, seconds=300, cmd="exit 0"):
# Allow more time for VM to boot under TCG.
if not kvm_available(self.arch):
seconds *= self.tcg_timeout_multiplier
starttime = datetime.datetime.now()
endtime = starttime + datetime.timedelta(seconds=seconds)
cmd_success = False
while datetime.datetime.now() < endtime:
if wait_root and self.ssh_root(cmd) == 0:
cmd_success = True
break
elif self.ssh(cmd) == 0:
cmd_success = True
--
2.43.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v3 2/4] tests/vm/freebsd: Reload the sshd configuration
2024-02-06 0:21 [PATCH v3 0/4] make vm-build-freebsd fixes Ilya Leoshkevich
2024-02-06 0:22 ` [PATCH v3 1/4] tests/vm: Set UseDNS=no in the sshd configuration Ilya Leoshkevich
@ 2024-02-06 0:22 ` Ilya Leoshkevich
2024-02-06 0:22 ` [PATCH v3 3/4] test-util-filemonitor: Adapt to the FreeBSD inotify rename semantics Ilya Leoshkevich
` (2 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Ilya Leoshkevich @ 2024-02-06 0:22 UTC (permalink / raw)
To: Paolo Bonzini, Alex Bennée, Ed Maste, Li-Wen Hsu, Warner Losh
Cc: Marc-André Lureau, Daniel P. Berrangé,
Thomas Huth, Philippe Mathieu-Daudé,
Wainer dos Santos Moschetta, Beraldo Leal, Kyle Evans,
qemu-devel, Ilya Leoshkevich
After console_sshd_config(), the SSH server needs to be nudged to pick
up the new configs. The scripts for the other BSD flavors already do
this with a reboot, but a simple reload is sufficient.
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
---
tests/vm/freebsd | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/vm/freebsd b/tests/vm/freebsd
index b581bd17fb7..1247f40a385 100755
--- a/tests/vm/freebsd
+++ b/tests/vm/freebsd
@@ -91,40 +91,41 @@ class FreeBSDVM(basevm.BaseVM):
self.console_wait_send("Use an empty password", "\n")
self.console_wait_send("Use a random password", "\n")
self.console_wait("Enter password:")
self.console_send("%s\n" % self._config["guest_pass"])
self.console_wait("Enter password again:")
self.console_send("%s\n" % self._config["guest_pass"])
self.console_wait_send("Lock out", "\n")
self.console_wait_send("OK", "yes\n")
self.console_wait_send("Add another user", "no\n")
self.console_wait_send("~ #", "exit\n")
# setup qemu user
prompt = "$"
self.console_ssh_init(prompt, self._config["guest_user"], self._config["guest_pass"])
self.console_wait_send(prompt, "exit\n")
# setup root user
prompt = "root@freebsd:~ #"
self.console_ssh_init(prompt, "root", self._config["root_pass"])
self.console_sshd_config(prompt)
+ self.console_wait_send(prompt, "service sshd reload\n")
# setup virtio-blk #1 (tarfile)
self.console_wait(prompt)
self.console_send("echo 'chmod 666 /dev/vtbd1' >> /etc/rc.local\n")
pkgs = self.get_qemu_packages_from_lcitool_json()
self.print_step("Installing packages")
self.ssh_root_check("pkg install -y %s\n" % " ".join(pkgs))
# shutdown
self.ssh_root(self.poweroff)
self.wait()
if os.path.exists(img):
os.remove(img)
os.rename(img_tmp, img)
self.print_step("All done")
if __name__ == "__main__":
sys.exit(basevm.main(FreeBSDVM, config=FREEBSD_CONFIG))
--
2.43.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v3 3/4] test-util-filemonitor: Adapt to the FreeBSD inotify rename semantics
2024-02-06 0:21 [PATCH v3 0/4] make vm-build-freebsd fixes Ilya Leoshkevich
2024-02-06 0:22 ` [PATCH v3 1/4] tests/vm: Set UseDNS=no in the sshd configuration Ilya Leoshkevich
2024-02-06 0:22 ` [PATCH v3 2/4] tests/vm/freebsd: Reload " Ilya Leoshkevich
@ 2024-02-06 0:22 ` Ilya Leoshkevich
2024-02-06 0:22 ` [PATCH v3 4/4] meson: Link with libinotify on FreeBSD Ilya Leoshkevich
2024-02-07 15:02 ` [PATCH v3 0/4] make vm-build-freebsd fixes Alex Bennée
4 siblings, 0 replies; 9+ messages in thread
From: Ilya Leoshkevich @ 2024-02-06 0:22 UTC (permalink / raw)
To: Paolo Bonzini, Alex Bennée, Ed Maste, Li-Wen Hsu, Warner Losh
Cc: Marc-André Lureau, Daniel P. Berrangé,
Thomas Huth, Philippe Mathieu-Daudé,
Wainer dos Santos Moschetta, Beraldo Leal, Kyle Evans,
qemu-devel, Ilya Leoshkevich
Unlike on Linux, on FreeBSD renaming a file when the destination
already exists results in an IN_DELETE event for that existing file:
$ FILEMONITOR_DEBUG=1 build/tests/unit/test-util-filemonitor
Rename /tmp/test-util-filemonitor-K13LI2/fish/one.txt -> /tmp/test-util-filemonitor-K13LI2/two.txt
Event id=200000000 event=2 file=one.txt
Queue event id 200000000 event 2 file one.txt
Queue event id 100000000 event 2 file two.txt
Queue event id 100000002 event 2 file two.txt
Queue event id 100000000 event 0 file two.txt
Queue event id 100000002 event 0 file two.txt
Event id=100000000 event=0 file=two.txt
Expected event 0 but got 2
This difference in behavior is not expected to break the real users, so
teach the test to accept it.
Suggested-by: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
---
tests/unit/test-util-filemonitor.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/tests/unit/test-util-filemonitor.c b/tests/unit/test-util-filemonitor.c
index a22de275955..02e67fc96ac 100644
--- a/tests/unit/test-util-filemonitor.c
+++ b/tests/unit/test-util-filemonitor.c
@@ -343,40 +343,48 @@ test_file_monitor_events(void)
.filesrc = "fish/", .watchid = &watch4 },
{ .type = QFILE_MONITOR_TEST_OP_ADD_WATCH,
.filesrc = "fish/one.txt", .watchid = &watch5 },
{ .type = QFILE_MONITOR_TEST_OP_CREATE,
.filesrc = "fish/one.txt", },
{ .type = QFILE_MONITOR_TEST_OP_EVENT,
.filesrc = "one.txt", .watchid = &watch4,
.eventid = QFILE_MONITOR_EVENT_CREATED },
{ .type = QFILE_MONITOR_TEST_OP_EVENT,
.filesrc = "one.txt", .watchid = &watch5,
.eventid = QFILE_MONITOR_EVENT_CREATED },
{ .type = QFILE_MONITOR_TEST_OP_DEL_WATCH,
.filesrc = "fish/one.txt", .watchid = &watch5 },
{ .type = QFILE_MONITOR_TEST_OP_RENAME,
.filesrc = "fish/one.txt", .filedst = "two.txt", },
{ .type = QFILE_MONITOR_TEST_OP_EVENT,
.filesrc = "one.txt", .watchid = &watch4,
.eventid = QFILE_MONITOR_EVENT_DELETED },
+#ifdef __FreeBSD__
+ { .type = QFILE_MONITOR_TEST_OP_EVENT,
+ .filesrc = "two.txt", .watchid = &watch0,
+ .eventid = QFILE_MONITOR_EVENT_DELETED },
+ { .type = QFILE_MONITOR_TEST_OP_EVENT,
+ .filesrc = "two.txt", .watchid = &watch2,
+ .eventid = QFILE_MONITOR_EVENT_DELETED },
+#endif
{ .type = QFILE_MONITOR_TEST_OP_EVENT,
.filesrc = "two.txt", .watchid = &watch0,
.eventid = QFILE_MONITOR_EVENT_CREATED },
{ .type = QFILE_MONITOR_TEST_OP_EVENT,
.filesrc = "two.txt", .watchid = &watch2,
.eventid = QFILE_MONITOR_EVENT_CREATED },
{ .type = QFILE_MONITOR_TEST_OP_RMDIR,
.filesrc = "fish", },
{ .type = QFILE_MONITOR_TEST_OP_EVENT,
.filesrc = "", .watchid = &watch4,
.eventid = QFILE_MONITOR_EVENT_IGNORED,
.swapnext = true },
{ .type = QFILE_MONITOR_TEST_OP_EVENT,
.filesrc = "fish", .watchid = &watch0,
.eventid = QFILE_MONITOR_EVENT_DELETED },
{ .type = QFILE_MONITOR_TEST_OP_DEL_WATCH,
.filesrc = "fish", .watchid = &watch4 },
--
2.43.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v3 4/4] meson: Link with libinotify on FreeBSD
2024-02-06 0:21 [PATCH v3 0/4] make vm-build-freebsd fixes Ilya Leoshkevich
` (2 preceding siblings ...)
2024-02-06 0:22 ` [PATCH v3 3/4] test-util-filemonitor: Adapt to the FreeBSD inotify rename semantics Ilya Leoshkevich
@ 2024-02-06 0:22 ` Ilya Leoshkevich
2024-02-06 9:02 ` Thomas Huth
2024-02-07 15:02 ` [PATCH v3 0/4] make vm-build-freebsd fixes Alex Bennée
4 siblings, 1 reply; 9+ messages in thread
From: Ilya Leoshkevich @ 2024-02-06 0:22 UTC (permalink / raw)
To: Paolo Bonzini, Alex Bennée, Ed Maste, Li-Wen Hsu, Warner Losh
Cc: Marc-André Lureau, Daniel P. Berrangé,
Thomas Huth, Philippe Mathieu-Daudé,
Wainer dos Santos Moschetta, Beraldo Leal, Kyle Evans,
qemu-devel, Ilya Leoshkevich
make vm-build-freebsd fails with:
ld: error: undefined symbol: inotify_init1
>>> referenced by filemonitor-inotify.c:183 (../src/util/filemonitor-inotify.c:183)
>>> util_filemonitor-inotify.c.o:(qemu_file_monitor_new) in archive libqemuutil.a
On FreeBSD the inotify functions are defined in libinotify.so. Add it
to the dependencies.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
---
meson.build | 23 +++++++++++++++++++----
util/meson.build | 6 +++++-
2 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/meson.build b/meson.build
index b5d6dc94a83..e5d6f2d057e 100644
--- a/meson.build
+++ b/meson.build
@@ -2367,60 +2367,72 @@ if rbd.found()
endif
if rdma.found()
config_host_data.set('HAVE_IBV_ADVISE_MR',
cc.has_function('ibv_advise_mr',
dependencies: rdma,
prefix: '#include <infiniband/verbs.h>'))
endif
have_asan_fiber = false
if get_option('sanitizers') and \
not cc.has_function('__sanitizer_start_switch_fiber',
args: '-fsanitize=address',
prefix: '#include <sanitizer/asan_interface.h>')
warning('Missing ASAN due to missing fiber annotation interface')
warning('Without code annotation, the report may be inferior.')
else
have_asan_fiber = true
endif
config_host_data.set('CONFIG_ASAN_IFACE_FIBER', have_asan_fiber)
+have_inotify_init = cc.has_header_symbol('sys/inotify.h', 'inotify_init')
+have_inotify_init1 = cc.has_header_symbol('sys/inotify.h', 'inotify_init1')
+inotify = not_found
+if (have_inotify_init or have_inotify_init1) and host_os == 'freebsd'
+ # libinotify-kqueue
+ inotify = cc.find_library('inotify')
+ if have_inotify_init
+ have_inotify_init = inotify.found()
+ endif
+ if have_inotify_init1
+ have_inotify_init1 = inotify.found()
+ endif
+endif
+config_host_data.set('CONFIG_INOTIFY', have_inotify_init)
+config_host_data.set('CONFIG_INOTIFY1', have_inotify_init1)
+
# has_header_symbol
config_host_data.set('CONFIG_BLKZONED',
cc.has_header_symbol('linux/blkzoned.h', 'BLKOPENZONE'))
config_host_data.set('CONFIG_EPOLL_CREATE1',
cc.has_header_symbol('sys/epoll.h', 'epoll_create1'))
config_host_data.set('CONFIG_FALLOCATE_PUNCH_HOLE',
cc.has_header_symbol('linux/falloc.h', 'FALLOC_FL_PUNCH_HOLE') and
cc.has_header_symbol('linux/falloc.h', 'FALLOC_FL_KEEP_SIZE'))
config_host_data.set('CONFIG_FALLOCATE_ZERO_RANGE',
cc.has_header_symbol('linux/falloc.h', 'FALLOC_FL_ZERO_RANGE'))
config_host_data.set('CONFIG_FIEMAP',
cc.has_header('linux/fiemap.h') and
cc.has_header_symbol('linux/fs.h', 'FS_IOC_FIEMAP'))
config_host_data.set('CONFIG_GETRANDOM',
cc.has_function('getrandom') and
cc.has_header_symbol('sys/random.h', 'GRND_NONBLOCK'))
-config_host_data.set('CONFIG_INOTIFY',
- cc.has_header_symbol('sys/inotify.h', 'inotify_init'))
-config_host_data.set('CONFIG_INOTIFY1',
- cc.has_header_symbol('sys/inotify.h', 'inotify_init1'))
config_host_data.set('CONFIG_PRCTL_PR_SET_TIMERSLACK',
cc.has_header_symbol('sys/prctl.h', 'PR_SET_TIMERSLACK'))
config_host_data.set('CONFIG_RTNETLINK',
cc.has_header_symbol('linux/rtnetlink.h', 'IFLA_PROTO_DOWN'))
config_host_data.set('CONFIG_SYSMACROS',
cc.has_header_symbol('sys/sysmacros.h', 'makedev'))
config_host_data.set('HAVE_OPTRESET',
cc.has_header_symbol('getopt.h', 'optreset'))
config_host_data.set('HAVE_IPPROTO_MPTCP',
cc.has_header_symbol('netinet/in.h', 'IPPROTO_MPTCP'))
# has_member
config_host_data.set('HAVE_SIGEV_NOTIFY_THREAD_ID',
cc.has_member('struct sigevent', 'sigev_notify_thread_id',
prefix: '#include <signal.h>'))
config_host_data.set('HAVE_STRUCT_STAT_ST_ATIM',
cc.has_member('struct stat', 'st_atim',
prefix: '#include <sys/stat.h>'))
config_host_data.set('HAVE_BLK_ZONE_REP_CAPACITY',
cc.has_member('struct blk_zone', 'capacity',
@@ -4390,40 +4402,43 @@ if host_os == 'windows'
endif
summary_info += {'seccomp support': seccomp}
summary_info += {'GlusterFS support': glusterfs}
summary_info += {'hv-balloon support': hv_balloon}
summary_info += {'TPM support': have_tpm}
summary_info += {'libssh support': libssh}
summary_info += {'lzo support': lzo}
summary_info += {'snappy support': snappy}
summary_info += {'bzip2 support': libbzip2}
summary_info += {'lzfse support': liblzfse}
summary_info += {'zstd support': zstd}
summary_info += {'NUMA host support': numa}
summary_info += {'capstone': capstone}
summary_info += {'libpmem support': libpmem}
summary_info += {'libdaxctl support': libdaxctl}
summary_info += {'libudev': libudev}
# Dummy dependency, keep .found()
summary_info += {'FUSE lseek': fuse_lseek.found()}
summary_info += {'selinux': selinux}
summary_info += {'libdw': libdw}
+if host_os == 'freebsd'
+ summary_info += {'libinotify-kqueue': inotify}
+endif
summary(summary_info, bool_yn: true, section: 'Dependencies')
if host_arch == 'unknown'
message()
warning('UNSUPPORTED HOST CPU')
message()
message('Support for CPU host architecture ' + cpu + ' is not currently')
message('maintained. The QEMU project does not guarantee that QEMU will')
message('compile or work on this host CPU. You can help by volunteering')
message('to maintain it and providing a build host for our continuous')
message('integration setup.')
if get_option('tcg').allowed() and target_dirs.length() > 0
message()
message('configure has succeeded and you can continue to build, but')
message('QEMU will use a slow interpreter to emulate the target CPU.')
endif
endif
if not supported_oses.contains(host_os)
message()
diff --git a/util/meson.build b/util/meson.build
index af3bf5692d8..0ef9886be04 100644
--- a/util/meson.build
+++ b/util/meson.build
@@ -87,40 +87,44 @@ if have_block or have_ga
util_ss.add(files('thread-pool.c', 'qemu-timer.c'))
util_ss.add(files('qemu-sockets.c'))
endif
if have_block
util_ss.add(files('aio-wait.c'))
util_ss.add(files('buffer.c'))
util_ss.add(files('bufferiszero.c'))
util_ss.add(files('hbitmap.c'))
util_ss.add(files('hexdump.c'))
util_ss.add(files('iova-tree.c'))
util_ss.add(files('iov.c', 'uri.c'))
util_ss.add(files('nvdimm-utils.c'))
util_ss.add(files('block-helpers.c'))
util_ss.add(files('qemu-coroutine-sleep.c'))
util_ss.add(files('qemu-co-shared-resource.c'))
util_ss.add(files('qemu-co-timeout.c'))
util_ss.add(files('readline.c'))
util_ss.add(files('throttle.c'))
util_ss.add(files('timed-average.c'))
if config_host_data.get('CONFIG_INOTIFY1')
- util_ss.add(files('filemonitor-inotify.c'))
+ freebsd_dep = []
+ if host_os == 'freebsd'
+ freebsd_dep = inotify
+ endif
+ util_ss.add(files('filemonitor-inotify.c'), freebsd_dep)
else
util_ss.add(files('filemonitor-stub.c'))
endif
if host_os == 'linux'
util_ss.add(files('vhost-user-server.c'), vhost_user)
util_ss.add(files('vfio-helpers.c'))
util_ss.add(files('chardev_open.c'))
endif
endif
if cpu == 'aarch64'
util_ss.add(files('cpuinfo-aarch64.c'))
elif cpu in ['x86', 'x86_64']
util_ss.add(files('cpuinfo-i386.c'))
elif cpu == 'loongarch64'
util_ss.add(files('cpuinfo-loongarch.c'))
elif cpu in ['ppc', 'ppc64']
util_ss.add(files('cpuinfo-ppc.c'))
endif
--
2.43.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v3 4/4] meson: Link with libinotify on FreeBSD
2024-02-06 0:22 ` [PATCH v3 4/4] meson: Link with libinotify on FreeBSD Ilya Leoshkevich
@ 2024-02-06 9:02 ` Thomas Huth
0 siblings, 0 replies; 9+ messages in thread
From: Thomas Huth @ 2024-02-06 9:02 UTC (permalink / raw)
To: Ilya Leoshkevich, Paolo Bonzini, Alex Bennée, Ed Maste,
Li-Wen Hsu, Warner Losh
Cc: Marc-André Lureau, Daniel P. Berrangé,
Philippe Mathieu-Daudé,
Wainer dos Santos Moschetta, Beraldo Leal, Kyle Evans,
qemu-devel
On 06/02/2024 01.22, Ilya Leoshkevich wrote:
> make vm-build-freebsd fails with:
>
> ld: error: undefined symbol: inotify_init1
> >>> referenced by filemonitor-inotify.c:183 (../src/util/filemonitor-inotify.c:183)
> >>> util_filemonitor-inotify.c.o:(qemu_file_monitor_new) in archive libqemuutil.a
>
> On FreeBSD the inotify functions are defined in libinotify.so. Add it
> to the dependencies.
>
> Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
> ---
> meson.build | 23 +++++++++++++++++++----
> util/meson.build | 6 +++++-
> 2 files changed, 24 insertions(+), 5 deletions(-)
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 0/4] make vm-build-freebsd fixes
2024-02-06 0:21 [PATCH v3 0/4] make vm-build-freebsd fixes Ilya Leoshkevich
` (3 preceding siblings ...)
2024-02-06 0:22 ` [PATCH v3 4/4] meson: Link with libinotify on FreeBSD Ilya Leoshkevich
@ 2024-02-07 15:02 ` Alex Bennée
2024-02-07 16:15 ` Ilya Leoshkevich
4 siblings, 1 reply; 9+ messages in thread
From: Alex Bennée @ 2024-02-07 15:02 UTC (permalink / raw)
To: Ilya Leoshkevich
Cc: Paolo Bonzini, Ed Maste, Li-Wen Hsu, Warner Losh,
Marc-André Lureau, Daniel P. Berrangé,
Thomas Huth, Philippe Mathieu-Daudé,
Wainer dos Santos Moschetta, Beraldo Leal, Kyle Evans,
qemu-devel
Ilya Leoshkevich <iii@linux.ibm.com> writes:
> v2: https://lists.gnu.org/archive/html/qemu-devel/2024-02/msg00890.html
> v2 -> v3: Structure the meson check similar to have_asan_fiber;
> Reduce the context size a little (Philippe).
>
> v1: https://lists.gnu.org/archive/html/qemu-devel/2024-01/msg05155.html
> v1 -> v2: Link with libinotify instead of disabling the inotify
> support (Daniel).
> Use a bit more context lines in order to prevent the
> incorrect application of the test patch.
>
> Hi,
>
> I needed to verify that my qemu-user changes didn't break BSD, and
> Daniel Berrange suggested vm-build-freebsd on IRC. I had several
> problems with it, which this series resolves.
Queued to testing/next, thanks.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 0/4] make vm-build-freebsd fixes
2024-02-07 15:02 ` [PATCH v3 0/4] make vm-build-freebsd fixes Alex Bennée
@ 2024-02-07 16:15 ` Ilya Leoshkevich
2024-02-08 10:29 ` Alex Bennée
0 siblings, 1 reply; 9+ messages in thread
From: Ilya Leoshkevich @ 2024-02-07 16:15 UTC (permalink / raw)
To: Alex Bennée
Cc: Paolo Bonzini, Ed Maste, Li-Wen Hsu, Warner Losh,
Marc-André Lureau, Daniel P. Berrangé,
Thomas Huth, Philippe Mathieu-Daudé,
Wainer dos Santos Moschetta, Beraldo Leal, Kyle Evans,
qemu-devel
On Wed, 2024-02-07 at 15:02 +0000, Alex Bennée wrote:
> Ilya Leoshkevich <iii@linux.ibm.com> writes:
>
> > v2:
> > https://lists.gnu.org/archive/html/qemu-devel/2024-02/msg00890.html
> > v2 -> v3: Structure the meson check similar to have_asan_fiber;
> > Reduce the context size a little (Philippe).
> >
> > v1:
> > https://lists.gnu.org/archive/html/qemu-devel/2024-01/msg05155.html
> > v1 -> v2: Link with libinotify instead of disabling the inotify
> > support (Daniel).
> > Use a bit more context lines in order to prevent the
> > incorrect application of the test patch.
> >
> > Hi,
> >
> > I needed to verify that my qemu-user changes didn't break BSD, and
> > Daniel Berrange suggested vm-build-freebsd on IRC. I had several
> > problems with it, which this series resolves.
>
> Queued to testing/next, thanks.
Hi Alex,
thanks! But I think Thomas already took it into his tree:
https://lists.gnu.org/archive/html/qemu-devel/2024-02/msg01015.html
Best regards,
Ilya
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 0/4] make vm-build-freebsd fixes
2024-02-07 16:15 ` Ilya Leoshkevich
@ 2024-02-08 10:29 ` Alex Bennée
0 siblings, 0 replies; 9+ messages in thread
From: Alex Bennée @ 2024-02-08 10:29 UTC (permalink / raw)
To: Ilya Leoshkevich
Cc: Paolo Bonzini, Ed Maste, Li-Wen Hsu, Warner Losh,
Marc-André Lureau, Daniel P. Berrangé,
Thomas Huth, Philippe Mathieu-Daudé,
Wainer dos Santos Moschetta, Beraldo Leal, Kyle Evans,
qemu-devel
Ilya Leoshkevich <iii@linux.ibm.com> writes:
> On Wed, 2024-02-07 at 15:02 +0000, Alex Bennée wrote:
>> Ilya Leoshkevich <iii@linux.ibm.com> writes:
>>
>> > v2:
>> > https://lists.gnu.org/archive/html/qemu-devel/2024-02/msg00890.html
>> > v2 -> v3: Structure the meson check similar to have_asan_fiber;
>> > Reduce the context size a little (Philippe).
>> >
>> > v1:
>> > https://lists.gnu.org/archive/html/qemu-devel/2024-01/msg05155.html
>> > v1 -> v2: Link with libinotify instead of disabling the inotify
>> > support (Daniel).
>> > Use a bit more context lines in order to prevent the
>> > incorrect application of the test patch.
>> >
>> > Hi,
>> >
>> > I needed to verify that my qemu-user changes didn't break BSD, and
>> > Daniel Berrange suggested vm-build-freebsd on IRC. I had several
>> > problems with it, which this series resolves.
>>
>> Queued to testing/next, thanks.
>
> Hi Alex,
>
> thanks! But I think Thomas already took it into his tree:
>
> https://lists.gnu.org/archive/html/qemu-devel/2024-02/msg01015.html
Ahh I missed that Thomas had pulled it. It should all rectify itself
when I create the PR tomorrow.
>
> Best regards,
> Ilya
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2024-02-08 10:30 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-06 0:21 [PATCH v3 0/4] make vm-build-freebsd fixes Ilya Leoshkevich
2024-02-06 0:22 ` [PATCH v3 1/4] tests/vm: Set UseDNS=no in the sshd configuration Ilya Leoshkevich
2024-02-06 0:22 ` [PATCH v3 2/4] tests/vm/freebsd: Reload " Ilya Leoshkevich
2024-02-06 0:22 ` [PATCH v3 3/4] test-util-filemonitor: Adapt to the FreeBSD inotify rename semantics Ilya Leoshkevich
2024-02-06 0:22 ` [PATCH v3 4/4] meson: Link with libinotify on FreeBSD Ilya Leoshkevich
2024-02-06 9:02 ` Thomas Huth
2024-02-07 15:02 ` [PATCH v3 0/4] make vm-build-freebsd fixes Alex Bennée
2024-02-07 16:15 ` Ilya Leoshkevich
2024-02-08 10:29 ` Alex Bennée
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.