Re: [PATCH blktests v3 3/3] nvme: introduce nvmet_target_{setup/cleanup} common code

From: Daniel Wagner
Date: Fri Aug 25 2023 - 02:25:45 EST


On Thu, Aug 24, 2023 at 07:36:12AM -0700, Bart Van Assche wrote:
> On 8/23/23 20:09, Shinichiro Kawasaki wrote:
> > CC+: Bart,
> >
> > This patch makes shellcheck unhappy:
> >
> > tests/nvme/003:26:2: note: Use _nvmet_target_setup "$@" if function's $1 should mean script's $1. [SC2119]
> > tests/nvme/004:26:2: note: Use _nvmet_target_setup "$@" if function's $1 should mean script's $1. [SC2119]
> > tests/nvme/005:26:2: note: Use _nvmet_target_setup "$@" if function's $1 should mean script's $1. [SC2119]
> > tests/nvme/006:24:2: note: Use _nvmet_target_setup "$@" if function's $1 should mean script's $1. [SC2119]
> > tests/nvme/008:25:2: note: Use _nvmet_target_setup "$@" if function's $1 should mean script's $1. [SC2119]
> > tests/nvme/010:25:2: note: Use _nvmet_target_setup "$@" if function's $1 should mean script's $1. [SC2119]
> > tests/nvme/012:29:2: note: Use _nvmet_target_setup "$@" if function's $1 should mean script's $1. [SC2119]
> > tests/nvme/014:28:2: note: Use _nvmet_target_setup "$@" if function's $1 should mean script's $1. [SC2119]
> > tests/nvme/018:26:2: note: Use _nvmet_target_setup "$@" if function's $1 should mean script's $1. [SC2119]
> > tests/nvme/019:27:2: note: Use _nvmet_target_setup "$@" if function's $1 should mean script's $1. [SC2119]
> > tests/nvme/023:25:2: note: Use _nvmet_target_setup "$@" if function's $1 should mean script's $1. [SC2119]
> >
> > But I think the warn SC2119 is false-positive and we should suppress it. In the
> > past, blktests had suppressed it until the recent commit 26664dff17b6 ("Do not
> > suppress any shellcheck warnings"). I think this commit should be reverted
> > together with this series.
> Please do not revert commit 26664dff17b6 because it produces useful
> warnings. Do you agree that the above warnings are easy to suppress,
> e.g. by changing "_nvmet_target_setup" into
> "_nvmet_target_setup ignored_argument"?

Well, these warnings could be address by adding back '--blkdev=device',
but I just dropped them on Sagi's request.

So what is it going to be? Ignoring SC2119 or adding and default
argument? I personally would rather add SC2119 because there a lot of
more callers which hand in default arguments which I would like to
remove anyway. Working around ShellCheck current limitation seems wrong
to me.