]> 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>
Mon, 11 May 2009 08:54:41 +0000 (10:54 +0200)
commit72f6902e435612f848cbe9993ce6298da8af996c
tree1820fc6c6fdbf643476a5ad20fa5602c48a46386
parentc9239f23acdc8b50f8bcbfadf967c6a490fd4693
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