[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 6/8] util: introduce qemu_open and qemu_create with error
From: |
Richard Henderson |
Subject: |
Re: [PATCH v6 6/8] util: introduce qemu_open and qemu_create with error reporting |
Date: |
Thu, 3 Sep 2020 09:54:01 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
On 9/3/20 8:22 AM, Daniel P. Berrangé wrote:
> qemu_open_old() works like open(): set errno and return -1 on failure.
> It has even more failure modes, though. Reporting the error clearly
> to users is basically impossible for many of them.
>
> Our standard cure for "errno is too coarse" is the Error object.
> Introduce two new helper methods:
>
> int qemu_open(const char *name, int flags, Error **errp);
> int qemu_create(const char *name, int flags, mode_t mode, Error **errp);
>
> Note that with this design we no longer require or even accept the
> O_CREAT flag. Avoiding overloading the two distinct operations
> means we can avoid variable arguments which would prevent 'errp' from
> being the last argument. It also gives us a guarantee that the 'mode' is
> given when creating files, avoiding a latent security bug.
>
> Reviewed-by: Markus Armbruster <armbru@redhat.com>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
- [PATCH v6 1/8] monitor: simplify functions for getting a dup'd fdset entry, (continued)
- [PATCH v6 1/8] monitor: simplify functions for getting a dup'd fdset entry, Daniel P . Berrangé, 2020/09/03
- [PATCH v6 2/8] util: split off a helper for dealing with O_CLOEXEC flag, Daniel P . Berrangé, 2020/09/03
- [PATCH v6 4/8] util: refactor qemu_open_old to split off variadic args handling, Daniel P . Berrangé, 2020/09/03
- [PATCH v6 5/8] util: add Error object for qemu_open_internal error reporting, Daniel P . Berrangé, 2020/09/03
- [PATCH v6 6/8] util: introduce qemu_open and qemu_create with error reporting, Daniel P . Berrangé, 2020/09/03
- Re: [PATCH v6 6/8] util: introduce qemu_open and qemu_create with error reporting,
Richard Henderson <=
- [PATCH v6 7/8] util: give a specific error message when O_DIRECT doesn't work, Daniel P . Berrangé, 2020/09/03
- [PATCH v6 3/8] util: rename qemu_open() to qemu_open_old(), Daniel P . Berrangé, 2020/09/03
- [PATCH v6 8/8] block/file: switch to use qemu_open/qemu_create for improved errors, Daniel P . Berrangé, 2020/09/03
- Re: [PATCH v6 0/8] block: improve error reporting for unsupported O_DIRECT, Daniel P . Berrangé, 2020/09/10