All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Chenqun (kuhn)" <kuhn.chenqun@huawei.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: "peter.maydell@linaro.org" <peter.maydell@linaro.org>,
	Zhanghailiang <zhang.zhanghailiang@huawei.com>,
	"qemu-trivial@nongnu.org" <qemu-trivial@nongnu.org>,
	Peter Lieven <pl@kamp.de>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Max Reitz <mreitz@redhat.com>,
	Ronnie Sahlberg <ronniesahlberg@gmail.com>,
	Euler Robot <euler.robot@huawei.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: RE: [PATCH v2 02/13] block/iscsi:Remove redundant statement in iscsi_open()
Date: Fri, 28 Feb 2020 07:30:40 +0000	[thread overview]
Message-ID: <7412CDE03601674DA8197E2EBD8937E83B664140@dggemm531-mbx.china.huawei.com> (raw)
In-Reply-To: <20200227103054.GB7493@linux.fritz.box>

>-----Original Message-----
>From: Kevin Wolf [mailto:kwolf@redhat.com]
>Sent: Thursday, February 27, 2020 6:31 PM
>To: Chenqun (kuhn) <kuhn.chenqun@huawei.com>
>Cc: qemu-devel@nongnu.org; qemu-trivial@nongnu.org;
>peter.maydell@linaro.org; Zhanghailiang <zhang.zhanghailiang@huawei.com>;
>Euler Robot <euler.robot@huawei.com>; Ronnie Sahlberg
><ronniesahlberg@gmail.com>; Paolo Bonzini <pbonzini@redhat.com>; Peter
>Lieven <pl@kamp.de>; Max Reitz <mreitz@redhat.com>
>Subject: Re: [PATCH v2 02/13] block/iscsi:Remove redundant statement in
>iscsi_open()
>
>Am 27.02.2020 um 02:49 hat Chenqun (kuhn) geschrieben:
>> >-----Original Message-----
>> >From: Kevin Wolf [mailto:kwolf@redhat.com]
>> >Sent: Wednesday, February 26, 2020 5:55 PM
>> >To: Chenqun (kuhn) <kuhn.chenqun@huawei.com>
>> >Cc: qemu-devel@nongnu.org; qemu-trivial@nongnu.org;
>> >peter.maydell@linaro.org; Zhanghailiang
>> ><zhang.zhanghailiang@huawei.com>; Euler Robot
>> ><euler.robot@huawei.com>; Ronnie Sahlberg
><ronniesahlberg@gmail.com>;
>> >Paolo Bonzini <pbonzini@redhat.com>; Peter Lieven <pl@kamp.de>; Max
>> >Reitz <mreitz@redhat.com>
>> >Subject: Re: [PATCH v2 02/13] block/iscsi:Remove redundant statement
>> >in
>> >iscsi_open()
>> >
>> >Am 26.02.2020 um 09:46 hat kuhn.chenqun@huawei.com geschrieben:
>> >> From: Chen Qun <kuhn.chenqun@huawei.com>
>> >>
>> >> Clang static code analyzer show warning:
>> >>   block/iscsi.c:1920:9: warning: Value stored to 'flags' is never read
>> >>         flags &= ~BDRV_O_RDWR;
>> >>         ^        ~~~~~~~~~~~~
>> >>
>> >> Reported-by: Euler Robot <euler.robot@huawei.com>
>> >> Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com>
>> >
>> >Hmm, I'm not so sure about this one because if we remove the line,
>> >flags will be inconsistent with bs->open_flags. It feels like setting
>> >a trap for anyone who wants to add code using flags in the future.
>> Hi Kevin,
>> I find it exists since 8f3bf50d34037266.   :  )
>
>Yes, it has existed from the start with auto-read-only.
>
>> It's not a big deal,  just upset clang static code analyzer.
>> As you said, it could be a trap for the future.
>
>What's interesting is that we do have one user of the flags later in the function,
>but it uses bs->open_flags instead:
>
>    ret = iscsi_allocmap_init(iscsilun, bs->open_flags);
>
>Maybe this should be using flags? (The value of the bits we're interested in is
>the same, but when flags is passed as a parameter, I would expect it to be
>used.)
>
Hi Kevin,
I have a question: are 'flags' exactly the same as 'bs-> open_flags'? 
In the function bdrv_open_common() at block.c file,  the existence of statement( open_flags = bdrv_open_flags(bs, bs->open_flags); ) makes them a little different.
Will this place affect them inconsistently ?

Is it safer if we assign bs-> open_flags to flags?
Modify just like:
@@ -1917,7 +1917,7 @@ static int iscsi_open(BlockDriverState *bs, QDict *options, int flags,
         if (ret < 0) {
             goto out;
         }
-        flags &= ~BDRV_O_RDWR;
+        flags = bs->open_flags;
     }

     iscsi_readcapacity_sync(iscsilun, &local_err);
@@ -2002,7 +2002,7 @@ static int iscsi_open(BlockDriverState *bs, QDict *options, int flags,
         iscsilun->cluster_size = iscsilun->bl.opt_unmap_gran *
             iscsilun->block_size;
         if (iscsilun->lbprz) {
-            ret = iscsi_allocmap_init(iscsilun, bs->open_flags);
+            ret = iscsi_allocmap_init(iscsilun, flags);
         }
     }

Thanks.




  parent reply	other threads:[~2020-02-28  7:31 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-26  8:46 [PATCH v2 00/13] redundant code: Fix warnings reported by Clang static code analyzer kuhn.chenqun
2020-02-26  8:46 ` [PATCH v2 01/13] block/stream: Remove redundant statement in stream_run() kuhn.chenqun
2020-02-26  9:51   ` Kevin Wolf
2020-02-26 10:21     ` Chenqun (kuhn)
2020-02-26 10:36       ` Kevin Wolf
2020-02-26 10:41         ` Chenqun (kuhn)
2020-02-26  8:46 ` [PATCH v2 02/13] block/iscsi:Remove redundant statement in iscsi_open() kuhn.chenqun
2020-02-26  9:54   ` Kevin Wolf
2020-02-27  1:49     ` Chenqun (kuhn)
2020-02-27 10:30       ` Kevin Wolf
2020-02-27 11:28         ` Chenqun (kuhn)
2020-02-28  7:30         ` Chenqun (kuhn) [this message]
2020-02-28 10:55           ` Kevin Wolf
2020-02-29  2:21             ` Chenqun (kuhn)
2020-02-26  8:46 ` [PATCH v2 03/13] block/file-posix: Remove redundant statement in raw_handle_perm_lock() kuhn.chenqun
2020-02-26 10:37   ` Kevin Wolf
2020-02-26  8:46 ` [PATCH v2 04/13] scsi/esp-pci: Remove redundant statement in esp_pci_io_write() kuhn.chenqun
2020-02-26  8:46 ` [PATCH v2 05/13] scsi/scsi-disk: Remove redundant statement in scsi_disk_emulate_command() kuhn.chenqun
2020-02-26  8:46 ` [PATCH v2 06/13] display/pxa2xx_lcd: Remove redundant statement in pxa2xx_palette_parse() kuhn.chenqun
2020-02-26  8:46 ` [PATCH v2 07/13] display/exynos4210_fimd: Remove redundant statement in exynos4210_fimd_update() kuhn.chenqun
2020-02-26  8:46 ` [PATCH v2 08/13] display/blizzard: Remove redundant statement in blizzard_draw_line16_32() kuhn.chenqun
2020-02-26  8:46 ` [PATCH v2 09/13] dma/xlnx-zdma: Remove redundant statement in zdma_write_dst() kuhn.chenqun
2020-02-26  8:51   ` Philippe Mathieu-Daudé
2020-02-26 14:15   ` Francisco Iglesias
2020-02-26 17:56   ` Alistair Francis
2020-02-26  8:46 ` [PATCH v2 10/13] migration/vmstate: Remove redundant statement in vmstate_save_state_v() kuhn.chenqun
2020-02-27 18:01   ` Juan Quintela
2020-02-26  8:46 ` [PATCH v2 11/13] timer/exynos4210_mct: Remove redundant statement in exynos4210_mct_write() kuhn.chenqun
2020-02-26  8:46 ` [PATCH v2 12/13] usb/hcd-ehci: Remove redundant statements kuhn.chenqun
2020-03-09 10:13   ` Gerd Hoffmann
2020-02-26  8:46 ` [PATCH v2 13/13] monitor/hmp-cmds: Remove redundant statement in hmp_rocker_of_dpa_groups() kuhn.chenqun
2020-02-26  8:52   ` Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7412CDE03601674DA8197E2EBD8937E83B664140@dggemm531-mbx.china.huawei.com \
    --to=kuhn.chenqun@huawei.com \
    --cc=euler.robot@huawei.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=pl@kamp.de \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-trivial@nongnu.org \
    --cc=ronniesahlberg@gmail.com \
    --cc=zhang.zhanghailiang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.