On Tue, May 17, 2016 at 10:32:05PM +0800, Anand Jain wrote:
> This patch provides functions
>  _scratch_dev_pool_get()
>  _scratch_dev_pool_put()
> 
> Which will help to set/reset SCRATCH_DEV_POOL with the required
> number of devices. SCRATCH_DEV_POOL_SAVED will hold all the devices.
> 
> Usage:
>   _scratch_dev_pool_get() <ndevs>
>   :: do stuff
> 
>   _scratch_dev_pool_put()
> 
> Signed-off-by: Anand Jain <[email protected]>

I'm not sure about the usefulness and the implementation of these
helpers (include the _spare_dev_get|_put helpers), but they look good to
me. It'd better to have btrfs developers review them as well.

> ---
>  common/rc | 47 +++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 47 insertions(+)
> 
> diff --git a/common/rc b/common/rc
> index 91e8f1c8e693..33632fd8e4a3 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -786,6 +786,53 @@ _scratch_mkfs()
>      esac
>  }
>  
> +#
> +# $1 Number of the scratch devs required
> +#

Some comments about its usage/purpose would be good, otherwise one has
to search for the commit log and look into it to understand its purpose

> +_scratch_dev_pool_get()
> +{
> +     if [ $# != 1 ]; then
> +             _fail "Usage: _scratch_dev_pool_get ndevs"
> +     fi
> +
> +     local test_ndevs=$1
> +     local config_ndevs=`echo $SCRATCH_DEV_POOL| wc -w`
> +     local devs[]="( $SCRATCH_DEV_POOL )"
> +
> +     typeset -p config_ndevs >/dev/null 2>&1
> +     if [ $? != 0 ]; then
> +             _fail "Bug: unset val, must call _scratch_dev_pool_get before 
> _scratch_dev_pool_put"

This error message seems confusing, it's _scratch_dev_pool_get being
called here, not _put.

> +     fi
> +
> +     # _require_scratch_dev_pool $test_ndevs
> +     # must have already checked the min required devices
> +     # but just in case, trap here for any potential bugs
> +     # perpetuating any further
> +     if [ $config_ndevs -lt $test_ndevs ]; then
> +             _notrun "Need at least test requested number of ndevs 
> $test_ndevs"

This message is not clear to me either.

Thanks,
Eryu
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to