All of lore.kernel.org
 help / color / mirror / Atom feed
From: Omar Sandoval <osandov@osandov.com>
To: Bart Van Assche <bvanassche@acm.org>
Cc: Omar Sandoval <osandov@fb.com>,
	linux-block@vger.kernel.org,
	Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Subject: Re: [PATCH blktests v2 3/4] Introduce the function _configure_null_blk()
Date: Fri, 20 Mar 2020 13:16:48 -0700	[thread overview]
Message-ID: <20200320201648.GC32817@vader> (raw)
In-Reply-To: <20200315221320.613-4-bvanassche@acm.org>

On Sun, Mar 15, 2020 at 03:13:19PM -0700, Bart Van Assche wrote:
> Introduce a function for creating a null_blk device instance through
> configfs.
> 
> Suggested-by: Chaitanya Kulkarni <Chaitanya.Kulkarni@wdc.com>
> Signed-off-by: Bart Van Assche <bvanassche@acm.org>
> ---
>  common/multipath-over-rdma | 17 +++++------------
>  common/null_blk            | 14 ++++++++++++++
>  tests/block/029            | 16 ++--------------
>  3 files changed, 21 insertions(+), 26 deletions(-)
> 
> diff --git a/common/multipath-over-rdma b/common/multipath-over-rdma
> index a56e7a8269db..7e610a0ccbbb 100644
> --- a/common/multipath-over-rdma
> +++ b/common/multipath-over-rdma
> @@ -620,18 +620,11 @@ run_fio() {
>  configure_null_blk() {
>  	local i
>  
> -	(
> -		cd /sys/kernel/config/nullb || return $?
> -		for i in nullb0 nullb1; do (
> -			{ mkdir -p $i &&
> -				  cd $i &&
> -				  echo 0 > completion_nsec &&
> -				  echo 512 > blocksize &&
> -				  echo $((ramdisk_size>>20)) > size &&
> -				  echo 1 > memory_backed &&
> -				  echo 1 > power; } || exit $?
> -		) done
> -	)
> +	for i in nullb0 nullb1; do
> +		_configure_null_blk nullb$i completion_nsec=0 blocksize=512 \
> +				    size=$((ramdisk_size>>20)) memory_backed=1 \
> +				    power=1 || return $?
> +	done
>  	ls -l /dev/nullb* &>>"$FULL"
>  }
>  
> diff --git a/common/null_blk b/common/null_blk
> index 6a5f99aaae9d..3c31db1ed4ac 100644
> --- a/common/null_blk
> +++ b/common/null_blk
> @@ -28,6 +28,20 @@ _init_null_blk() {
>  	return 0
>  }
>  
> +# Configure one null_blk instance with name $1 and parameters $2..${$#}.
> +_configure_null_blk() {
> +	local nullb=/sys/kernel/config/nullb/$1 param val
> +
> +	shift
> +	mkdir "$nullb" &&

Just make this mkdir "$nullb" || return $?

> +		while [ -n "$1" ]; do

The intention is clearer with while [[ $# > 0 ]]

> +			param="${1//=*}"
> +			val="${1#${param}=}"

These are all arcane bash incantations, but the following seem slighly
clearer to me:

param="${1%%=*}"
val="${1#*=}"

I.e., for param we remove the equal sign and everything after it, and
for val we remove everything up to the equal sign.

> +			shift
> +			echo "$val" > "$nullb/$param" || return $?
> +		done
> +}
> +

  parent reply	other threads:[~2020-03-20 20:16 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-15 22:13 [PATCH blktests v2 0/4] Add a test that triggers the blk_mq_realloc_hw_ctxs() error path Bart Van Assche
2020-03-15 22:13 ` [PATCH blktests v2 1/4] Make _exit_null_blk remove all null_blk device instances Bart Van Assche
2020-03-15 23:22   ` Chaitanya Kulkarni
2020-03-16  0:25     ` Bart Van Assche
2020-03-20 20:04   ` Omar Sandoval
2020-03-15 22:13 ` [PATCH blktests v2 2/4] Use _{init,exit}_null_blk instead of open-coding these functions Bart Van Assche
2020-03-15 23:22   ` Chaitanya Kulkarni
2020-03-15 22:13 ` [PATCH blktests v2 3/4] Introduce the function _configure_null_blk() Bart Van Assche
2020-03-15 23:34   ` Chaitanya Kulkarni
2020-03-20 20:16   ` Omar Sandoval [this message]
2020-03-15 22:13 ` [PATCH blktests v2 4/4] Add a test that triggers the blk_mq_realloc_hw_ctxs() error path Bart Van Assche
2020-03-15 23:36   ` Chaitanya Kulkarni
2020-03-20 21:42   ` Omar Sandoval
2020-04-21  2:35     ` Shinichiro Kawasaki
2020-04-21  9:10       ` Shinichiro Kawasaki

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=20200320201648.GC32817@vader \
    --to=osandov@osandov.com \
    --cc=bvanassche@acm.org \
    --cc=chaitanya.kulkarni@wdc.com \
    --cc=linux-block@vger.kernel.org \
    --cc=osandov@fb.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.