[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 01/13] qga: treat get-guest-fsinfo as "best effort"
From: |
John Snow |
Subject: |
Re: [PATCH v3 01/13] qga: treat get-guest-fsinfo as "best effort" |
Date: |
Thu, 7 Jul 2022 11:23:03 -0400 |
On Thu, Jul 7, 2022 at 4:40 AM Marc-André Lureau
<marcandre.lureau@gmail.com> wrote:
>
> Hi
>
> On Thu, Jul 7, 2022 at 8:10 AM John Snow <jsnow@redhat.com> wrote:
>>
>> In some container environments, there may be references to block devices
>> witnessable from a container through /proc/self/mountinfo that reference
>> devices we simply don't have access to in the container, and cannot
>> provide information about.
>>
>> Instead of failing the entire fsinfo command, return stub information
>> for these failed lookups.
>>
>> This allows test-qga to pass under docker tests, which are in turn used
>> by the CentOS VM tests.
>>
>> Signed-off-by: John Snow <jsnow@redhat.com>
>> ---
>> qga/commands-posix.c | 7 ++++++-
>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/qga/commands-posix.c b/qga/commands-posix.c
>> index 0469dc409d4..950c9d72fe7 100644
>> --- a/qga/commands-posix.c
>> +++ b/qga/commands-posix.c
>> @@ -1207,7 +1207,12 @@ static void build_guest_fsinfo_for_device(char const
>> *devpath,
>>
>> syspath = realpath(devpath, NULL);
>> if (!syspath) {
>> - error_setg_errno(errp, errno, "realpath(\"%s\")", devpath);
>> + if (errno == ENOENT) {
>> + /* This devpath may not exist because of container config, etc.
>> */
>> + fs->name = g_path_get_basename(devpath);
>> + } else {
>> + error_setg_errno(errp, errno, "realpath(\"%s\")", devpath);
>> + }
>
>
> It looks like this function is called recursively with the same "fs"
> argument. That's probably why there is a if (!fs->name) check next. You may
> want to check it too to avoid leaks and incorrect info.
Oh, I see what you mean. I am not sure if it will come up in
practice*, but I see the theoretical concern at least. I can amend it.
--js
* (Genuinely; I have no idea.)
- [PATCH v3 06/13] tests/vm: remove ubuntu.i386 VM test, (continued)
- [PATCH v3 06/13] tests/vm: remove ubuntu.i386 VM test, John Snow, 2022/07/07
- [PATCH v3 02/13] tests/vm: use 'cp' instead of 'ln' for temporary vm images, John Snow, 2022/07/07
- [PATCH v3 04/13] tests/vm: switch centos.aarch64 to CentOS 8 Stream, John Snow, 2022/07/07
- [PATCH v3 13/13] iotests: fix copy-before-write for macOS and FreeBSD, John Snow, 2022/07/07
- [PATCH v3 01/13] qga: treat get-guest-fsinfo as "best effort", John Snow, 2022/07/07
- [PATCH v3 07/13] tests/vm: remove duplicate 'centos' VM test, John Snow, 2022/07/07
- [PATCH v3 08/13] tests/vm: add 1GB extra memory per core, John Snow, 2022/07/07
- [PATCH v3 03/13] tests/vm: switch CentOS 8 to CentOS 8 Stream, John Snow, 2022/07/07