|
From: | Philippe Mathieu-Daudé |
Subject: | Re: [PATCH v3] util: use RETRY_ON_EINTR() on open() more consistently |
Date: | Thu, 1 Aug 2024 14:48:25 +0200 |
User-agent: | Mozilla Thunderbird |
Hi Philipp, On 31/7/24 17:17, Philipp Reisner wrote:
As with many syscalls, open() might be interrupted by a signal. The call trace img_open_file() blk_new_open() raw_open() raw_open_common() qemu_open() qemu_open_internal() qemu_open_cloexec() Ended up in calling open() without a retry loop around it. The experienced logfile entry is: qemu-system-x86_64: -device virtio-blk-pci,bus=pci.0,addr=0x7,drive=libvirt-2-format,id=virtio-disk0,bootindex=2,write-cache=on,serial=1b990c4d13b74a4e90ea: Could not open '/dev/drbd1003': Interrupted system call Add the RETRY_ON_EINTR() in qemu_open_cloexec() and remove it on call-sites using qemu_open_old(). Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> --- chardev/char-fd.c | 2 +- chardev/char-pipe.c | 4 ++-- os-posix.c | 2 +- util/osdep.c | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-)
If you need to repost, please set the next version in your patch (which will be v4). Also avoid replying to previous version / discussions and your patch could be missed, see https://www.qemu.org/docs/master/devel/submitting-a-patch.html#when-resending-patches-add-a-version-tag: Send each new revision as a new top-level thread, rather than burying it in-reply-to an earlier revision, as many reviewers are not looking inside deep threads for new patches. Also please Cc qemu-block@nongnu.org since the block layer is involved via the blk_new_open() call. Regards, Phil.
[Prev in Thread] | Current Thread | [Next in Thread] |