]> err.no Git - util-linux/commit
losetup: handle symlinks in /dev/loop/
authorMike Frysinger <vapier@gentoo.org>
Sun, 10 May 2009 20:57:31 +0000 (16:57 -0400)
committerKarel Zak <kzak@redhat.com>
Wed, 27 May 2009 08:23:26 +0000 (10:23 +0200)
commit83277bc95a84f325d5f3dab3babf2998dc8b4555
tree1820fc6c6fdbf643476a5ad20fa5602c48a46386
parent28f0c63388ab7eeeb0953355dc4ff2edc5afe9e8
losetup: handle symlinks in /dev/loop/

The loop_scandir() expects all the files in /dev/loop/ to be actual
devices and not symlinks to devices.  However, udev by default sets up
symlinks in /dev/loop/ thereby breaking the fallback scan logic when
looking for devices more than the default number of 8.

Simple way to reproduce is:
 - <detach all devices>
 - cd /dev/loop
 - rm -f [2-7]
 - losetup 0 autogen.sh
 - mv 1 8
 - for n in {1..7} ; do ln -s 0 $n ; done
 - losetup -f
<error but should have found /dev/loop/8>

[kay.sievers@vrfy.org:
       just a note, udev does not do that by default. It is
       devfs-nonsense, which the "default" never did.]

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Reported-by: Mario Bachmann <grafgrimm77@gmx.de>
mount/lomount.c