The Wednesday 27 Aug 2014 à 14:02:33 (+0800), Fam Zheng wrote :
> Signed-off-by: Fam Zheng <[email protected]>
> ---
> block/nfs.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/block/nfs.c b/block/nfs.c
> index 93d87f3..36e8057 100644
> --- a/block/nfs.c
> +++ b/block/nfs.c
> @@ -393,15 +393,18 @@ static int nfs_file_open(BlockDriverState *bs, QDict
> *options, int flags,
> qemu_opts_absorb_qdict(opts, options, &local_err);
> if (local_err) {
> error_propagate(errp, local_err);
> - return -EINVAL;
> + ret = -EINVAL;
1)
Here you put the return code in ret and goto out.
> + goto out;
> }
> ret = nfs_client_open(client, qemu_opt_get(opts, "filename"),
> (flags & BDRV_O_RDWR) ? O_RDWR : O_RDONLY,
> errp);
> if (ret < 0) {
> - return ret;
> + goto out;
2) here you seem to want to do something later with the value of ret.
> }
> bs->total_sectors = ret;
> +out:
> + qemu_opts_del(opts);
> return 0;
Here the code simply return 0 discarding the return code you set in 1) and 2).
> }
>
> --
> 2.1.0
>
>