[PATCH v2 1/4] Add tests for character devices
Eryu Guan
eguan at redhat.com
Wed May 31 04:07:59 PDT 2017
On Wed, May 31, 2017 at 10:54:30AM +0200, David Oberhollenzer wrote:
> Implement _is_char_dev similar to _is_block_dev to test for
> character devices.
>
> Add a _require_local_device test. This test is similar to
> _require_block_device but checks if the path refers to a
> block or a character device.
>
> Signed-off-by: David Oberhollenzer <david.oberhollenzer at sigma-star.at>
v2 looks fine to me overall, though I don't have the environment to test
ubifs support.
I have some nits below and to other patches :)
> ---
> common/rc | 37 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 37 insertions(+)
>
> diff --git a/common/rc b/common/rc
> index ba215961..ae8ea550 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -1363,6 +1363,26 @@ _is_block_dev()
> fi
> }
>
> +# returns device number if a file is a character device
> +#
> +_is_char_dev()
> +{
> + if [ $# -ne 1 ]
> + then
> + echo "Usage: _is_char_dev dev" 1>&2
> + exit 1
> + fi
> +
> + _dev=$1
> + if [ -L "${_dev}" ]; then
> + _dev=`readlink -f "${_dev}"`
> + fi
> +
> + if [ -c "${_dev}" ]; then
> + src/lstat64 "${_dev}" | $AWK_PROG '/Device type:/ { print $9 }'
> + fi
> +}
> +
Please use one tab for indention for new code, and place 'then' on the
same line as 'if'. (I know this is copied from the old _is_block_dev(),
and the new code style is not documented anywhere yet.. sorry about
that).
Thanks,
Eryu
> # Do a command, log it to $seqres.full, optionally test return status
> # and die if command fails. If called with one argument _do executes the
> # command, logs it, and returns its exit status. With two arguments _do
> @@ -1791,6 +1811,23 @@ _require_block_device()
> fi
> }
>
> +# this test requires a path to refere to a local block or character device
> +# $1 - device
> +_require_local_device()
> +{
> + if [ -z "$1" ]; then
> + echo "Usage: _require_local_device <dev>" 1>&2
> + exit 1
> + fi
> + if [ "`_is_block_dev "$1"`" != "" ]; then
> + return 0
> + fi
> + if [ "`_is_char_dev "$1"`" != "" ]; then
> + return 0
> + fi
> + _notrun "require $1 to be local device"
> +}
> +
> # brd based ram disks erase the device when they receive a flush command when no
> # active references are present. This causes problems for DM devices sitting on
> # top of brd devices as DM doesn't hold active references to the brd device.
> --
> 2.12.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe fstests" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the linux-mtd
mailing list