Re: [Qemu-devel] [PATCH v2 1/1] block: improve error handling in raw_open

2016-07-27 Thread Halil Pasic
On 07/27/2016 04:37 PM, Max Reitz wrote: >> Now if you examine #1 drive_new(all_opts,block_default_type) you see, >> > there is no errp argument and if you examine the code you see that the >> > error from blockdev_init which gets propagated properly to this point >> > gets "handled" by error_rep

Re: [Qemu-devel] [PATCH v2 1/1] block: improve error handling in raw_open

2016-07-27 Thread Max Reitz
On 27.07.2016 14:40, Halil Pasic wrote: > > > On 07/26/2016 07:47 PM, Max Reitz wrote: >>> Frankly, I'm a bit uncomfortable with asking (do not want to be pushy), but do you have an opinion on the 'error_report_err' issue (pointed out in the cover letter part)? >> You are using drive_ad

Re: [Qemu-devel] [PATCH v2 1/1] block: improve error handling in raw_open

2016-07-27 Thread Max Reitz
On 27.07.2016 14:59, Markus Armbruster wrote: > Max Reitz writes: > >> On 26.07.2016 19:18, Halil Pasic wrote: > [...] >>> Frankly, I'm a bit uncomfortable with asking (do not want to be pushy), >>> but do you have an opinion on the 'error_report_err' issue (pointed >>> out in the cover letter pa

Re: [Qemu-devel] [PATCH v2 1/1] block: improve error handling in raw_open

2016-07-27 Thread Markus Armbruster
Max Reitz writes: > On 26.07.2016 19:18, Halil Pasic wrote: [...] >> Frankly, I'm a bit uncomfortable with asking (do not want to be pushy), >> but do you have an opinion on the 'error_report_err' issue (pointed >> out in the cover letter part)? > > You are using drive_add with QMP? As far as I k

Re: [Qemu-devel] [PATCH v2 1/1] block: improve error handling in raw_open

2016-07-27 Thread Halil Pasic
On 07/26/2016 07:47 PM, Max Reitz wrote: >> Frankly, I'm a bit uncomfortable with asking (do not want to be pushy), >> > but do you have an opinion on the 'error_report_err' issue (pointed >> > out in the cover letter part)? > You are using drive_add with QMP? As far as I know, one can only do so

Re: [Qemu-devel] [PATCH v2 1/1] block: improve error handling in raw_open

2016-07-27 Thread Markus Armbruster
Max Reitz writes: > On 26.07.2016 19:18, Halil Pasic wrote: >> >> >> On 07/26/2016 05:42 PM, Max Reitz wrote: +++ b/block/raw-posix.c > @@ -485,6 +485,7 @@ static int raw_open_common(BlockDriverState *bs, > QDict *options, > s->fd = -1; > fd = qemu_open(filename,

Re: [Qemu-devel] [PATCH v2 1/1] block: improve error handling in raw_open

2016-07-26 Thread Sascha Silbe
Dear Max, Max Reitz writes: >> So how about: >> >> /* >> * Just like error_setg(), with @os_error info added to the message. >> * If @os_error is non-zero, ": " + strerror(os_error) is appended to >> * the human-readable error message. >> + * >> + * Reminder: errno may get clobbered by a

Re: [Qemu-devel] [PATCH v2 1/1] block: improve error handling in raw_open

2016-07-26 Thread Max Reitz
On 26.07.2016 20:03, Sascha Silbe wrote: > Dear Max, > > Max Reitz writes: > >> We don't guarantee that error_setg_errno() does not modify errno. (In >> practice it should not, but we don't guarantee that.) > > I agree it's a good general policy to _not_ rely on the callee > explicitly saving a

Re: [Qemu-devel] [PATCH v2 1/1] block: improve error handling in raw_open

2016-07-26 Thread Sascha Silbe
Dear Max, Max Reitz writes: > We don't guarantee that error_setg_errno() does not modify errno. (In > practice it should not, but we don't guarantee that.) I agree it's a good general policy to _not_ rely on the callee explicitly saving and restoring errno. Especially since C11 pretty much allo

Re: [Qemu-devel] [PATCH v2 1/1] block: improve error handling in raw_open

2016-07-26 Thread Max Reitz
On 26.07.2016 19:18, Halil Pasic wrote: > > > On 07/26/2016 05:42 PM, Max Reitz wrote: >>> +++ b/block/raw-posix.c @@ -485,6 +485,7 @@ static int raw_open_common(BlockDriverState *bs, QDict *options, s->fd = -1; fd = qemu_open(filename, s->open_flags, 0644);

Re: [Qemu-devel] [PATCH v2 1/1] block: improve error handling in raw_open

2016-07-26 Thread Max Reitz
On 26.07.2016 19:18, Halil Pasic wrote: > > > On 07/26/2016 05:42 PM, Max Reitz wrote: >>> +++ b/block/raw-posix.c @@ -485,6 +485,7 @@ static int raw_open_common(BlockDriverState *bs, QDict *options, s->fd = -1; fd = qemu_open(filename, s->open_flags, 0644);

Re: [Qemu-devel] [PATCH v2 1/1] block: improve error handling in raw_open

2016-07-26 Thread Halil Pasic
On 07/26/2016 05:42 PM, Max Reitz wrote: >> +++ b/block/raw-posix.c >> > @@ -485,6 +485,7 @@ static int raw_open_common(BlockDriverState *bs, QDict >> > *options, >> > s->fd = -1; >> > fd = qemu_open(filename, s->open_flags, 0644); >> > if (fd < 0) { >> > +error_setg_errno

Re: [Qemu-devel] [PATCH v2 1/1] block: improve error handling in raw_open

2016-07-26 Thread Max Reitz
On 26.07.2016 13:34, Halil Pasic wrote: > Make raw_open for POSIX more consistent in handling errors by setting > the error object also when qemu_open fails. The error object was set > generally set in case of errors, but I guess this case was overlooked. > Do the same for win32. > > Signed-off-by