The horrible, O(n) way is to just to loop over 0 .. n, see if it doesn't
exist, if it doesn't then create and use it.

It's slow, it's racy (ie, don't run the script without locking :-) but
it's a traditional UNIX way of doing things.

PTYs were once allocated that way, fe. :-)


Adrian

On Sun, Oct 10, 2010, Zenaan Harkness wrote:
> If  I want to dynamically create loop devices, how would I dynamically
> create loop device minor numbers in some way, from a shell script,
> eg.:
> 
> # setup:
> UNIQUE_NAME=unique_login_name
> LOOP_DEV=/dev/loop/$UNIQUE_NAME
> MINOR_NUMBER=some_hash_or_what_???
> mknod $LOOP_DEV b 7 $MINOR_NUMBER
> chown root.disk $LOOP_DEV
> losetup $LOOP_DEV /home/$UNIQUE_NAME/source
> mount $LOOP_DEV /home/$UNIQUE_NAME/target
> ...
> # tear down:
> umount /home/$UNIQUE_NAME/target
> losetup -d $LOOP_DEV
> rm $LOOP_DEV
> 
> Each dyn created loop device will have unique lifetime. So they will
> be losetup -d'ed at different times, so eventually, the minor numbers
> will need to be reused.
> Is there any easy way to do this, whilst creating loop devices with
> names which I assign, as in the example above?
> 
> (I began a thread on this a few days ago (and no replies yet), which I
> will update if you just post here on slug, at
> http://forum.kernelnewbies.org/read.php?12,2126
> )
> 
> TIA
> Zen
> -- 
> SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
> Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

-- 
- Xenion - http://www.xenion.com.au/ - VPS Hosting - Commercial Squid Support -
- $24/pm+GST entry-level VPSes w/ capped bandwidth charges available in WA -
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

Reply via email to