On 2/3/13 4:19 AM, Tomas Racek wrote:
> Add _create_loop_device and _destroy_loop_device to uniformly handle
> loopback devices.
Good idea, small comment below
> Signed-off-by: Tomas Racek <tracek@xxxxxxxxxx>
> ---
> common.rc | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/common.rc b/common.rc
> index 0cccb94..67a5e3a 100644
> --- a/common.rc
> +++ b/common.rc
> @@ -1833,6 +1833,20 @@ _require_dumpe2fs()
> fi
> }
>
> +_create_loop_device()
> +{
> + file=$1
> + dev=`losetup -f`
> + losetup $dev $file || _fail "Cannot associate $file with $dev"
> + echo $dev
In theory this is a little racy, right? the loop device could become
used in between.
I wonder if something like:
_create_loop_device()
{
dev=`losetup -f --show $file` || _fail "Cannot associate $file with
$dev"
echo $dev
}
would work better? From the manpage:
-f, --find
find the first unused loop device. If a file argument is present,
use this device. Otherwise, print its name
--show print device name if the -f option and a file argument are
present.
So this will set up the first available loop device and print its name.
Thanks,
-Eric
> +}
> +
> +_destroy_loop_device()
> +{
> + dev=$1
> + losetup -d $dev || _fail "Cannot destroy loop device $dev"
> +}
> +
>
> ################################################################################
>
> if [ "$iam" != new -a "$iam" != bench ]
>
|