xfs
[Top] [All Lists]

Re: [PATCH 2/3] xfstests: Add new standard loop handling functions

To: Eric Sandeen <sandeen@xxxxxxxxxxx>
Subject: Re: [PATCH 2/3] xfstests: Add new standard loop handling functions
From: Tomas Racek <tracek@xxxxxxxxxx>
Date: Tue, 5 Feb 2013 02:56:05 -0500 (EST)
Cc: lczerner@xxxxxxxxxx, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <510E8B66.9040803@xxxxxxxxxxx>
----- Original Message -----
> 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.

You're right, thanks for the suggestion!

Tom

> 
> Thanks,
> -Eric
> 
> > +}
> > +
> > +_destroy_loop_device()
> > +{
> > +   dev=$1
> > +   losetup -d $dev || _fail "Cannot destroy loop device $dev"
> > +}
> > +
> >  
> > ################################################################################
> >  
> >  if [ "$iam" != new -a "$iam" != bench ]
> > 
> 
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs
> 

<Prev in Thread] Current Thread [Next in Thread>