linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* loop Device doesn't work in kernel 2.4.14
@ 2001-11-12  8:57 johann.pfefferl.jp
  2001-11-12  9:11 ` DevilKin
  2001-11-12  9:15 ` Adrian Bunk
  0 siblings, 2 replies; 3+ messages in thread
From: johann.pfefferl.jp @ 2001-11-12  8:57 UTC (permalink / raw)
  To: linux-kernel

Hello,

I have detected that the loop device mechanism can't be
used any longer in kernel version 2.4.14. I have compiled
the kernel with minimum features (ext2, initrd, ramdisk) compiled
into the kernel. The rest is all modules.

# cat /proc/version
Linux version 2.4.14 (root@pcls03) (gcc version 2.95.3 20010315 (SuSE)) #2 Wed Nov 7 11:34:01 CET 2001

# mount -o loop /tmp/DISK /mnt -v
mount: Could not find any loop device, and, according to /proc/devices,
       this kernel does not know about the loop device.
       (If so, then recompile or `insmod loop.o'.)

# modprobe -v loop
/sbin/insmod /lib/modules/2.4.14/kernel/drivers/block/loop.o
Using /lib/modules/2.4.14/kernel/drivers/block/loop.o
Symbol version prefix ''
/lib/modules/2.4.14/kernel/drivers/block/loop.o: unresolved symbol deactivate_page
/lib/modules/2.4.14/kernel/drivers/block/loop.o: insmod /lib/modules/2.4.14/kernel/drivers/block/loop.o failed
/lib/modules/2.4.14/kernel/drivers/block/loop.o: insmod loop failed

# find /usr/src/linux-2.4.14 -type f -name '*.[ch]' |xargs grep deactivate_page
/usr/src/linux-2.4.14/drivers/block/loop.c:             deactivate_page(page);
/usr/src/linux-2.4.14/drivers/block/loop.c:     deactivate_page(page);

# depmod -ae
depmod: *** Unresolved symbols in /lib/modules/2.4.14/kernel/drivers/block/loop.o
depmod:         deactivate_page
depmod: *** Unresolved symbols in /lib/modules/2.4.14/kernel/drivers/net/wan/comx.o
depmod:         proc_get_inode
depmod: *** Unresolved symbols in /lib/modules/2.4.14/kernel/drivers/telephony/ixj_pcmcia.o
depmod:         register_pccard_driver
depmod:         unregister_pccard_driver
depmod:         CardServices

There seems to be a problem with the routine deactivate_page, which is no longer present
in the 2.4.14 kernel but is used somehow in the loop device code.

Hans
--
Dr.-Ing. Johann Pfefferl       mailto:johann.pfefferl.jp@germany.agfa.com
Agfa-Gevaert AG                                    Tel.: +49 89 6207-3524
GF Laborgeraete, Entwicklung Software (LG-ESW)     Sek.: +49 89 6207-3362
Tegernseer Landstr. 161,  D-81539 Muenchen         Fax : +49 89 6207-7279
                      __
                     / /    __  _  _  _  _ __  __
                    / /__  / / / \// //_// \ \/ /           -o)
                   /____/ /_/ /_/\/ /___/  /_/\_\           /\\
                    ...for IQs GREATER than 98...          _\_v-



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: loop Device doesn't work in kernel 2.4.14
  2001-11-12  8:57 loop Device doesn't work in kernel 2.4.14 johann.pfefferl.jp
@ 2001-11-12  9:11 ` DevilKin
  2001-11-12  9:15 ` Adrian Bunk
  1 sibling, 0 replies; 3+ messages in thread
From: DevilKin @ 2001-11-12  9:11 UTC (permalink / raw)
  To: johann.pfefferl.jp; +Cc: linux-kernel

At 09:57 12/11/2001 +0100, you wrote:
>Hello,
>
>I have detected that the loop device mechanism can't be
>used any longer in kernel version 2.4.14. I have compiled
>the kernel with minimum features (ext2, initrd, ramdisk) compiled
>into the kernel. The rest is all modules.
>
># cat /proc/version
>Linux version 2.4.14 (root@pcls03) (gcc version 2.95.3 20010315 (SuSE)) #2 
>Wed Nov 7 11:34:01 CET 2001
>
># mount -o loop /tmp/DISK /mnt -v
>mount: Could not find any loop device, and, according to /proc/devices,
>        this kernel does not know about the loop device.
>        (If so, then recompile or `insmod loop.o'.)
>
># modprobe -v loop
>/sbin/insmod /lib/modules/2.4.14/kernel/drivers/block/loop.o
>Using /lib/modules/2.4.14/kernel/drivers/block/loop.o
>Symbol version prefix ''
>/lib/modules/2.4.14/kernel/drivers/block/loop.o: unresolved symbol 
>deactivate_page
>/lib/modules/2.4.14/kernel/drivers/block/loop.o: insmod 
>/lib/modules/2.4.14/kernel/drivers/block/loop.o failed
>/lib/modules/2.4.14/kernel/drivers/block/loop.o: insmod loop failed
>
># find /usr/src/linux-2.4.14 -type f -name '*.[ch]' |xargs grep 
>deactivate_page
>/usr/src/linux-2.4.14/drivers/block/loop.c:             deactivate_page(page);
>/usr/src/linux-2.4.14/drivers/block/loop.c:     deactivate_page(page);
>
># depmod -ae
>depmod: *** Unresolved symbols in 
>/lib/modules/2.4.14/kernel/drivers/block/loop.o
>depmod:         deactivate_page
>depmod: *** Unresolved symbols in 
>/lib/modules/2.4.14/kernel/drivers/net/wan/comx.o
>depmod:         proc_get_inode
>depmod: *** Unresolved symbols in 
>/lib/modules/2.4.14/kernel/drivers/telephony/ixj_pcmcia.o
>depmod:         register_pccard_driver
>depmod:         unregister_pccard_driver
>depmod:         CardServices
>
>There seems to be a problem with the routine deactivate_page, which is no 
>longer present
>in the 2.4.14 kernel but is used somehow in the loop device code.
>
>Hans

This is a known problem, and is fixed starting 2.4.15-pre1. Otherwise you 
can also manually remove the deactivate_page calls from loop.c and compile 
again.

DK


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: loop Device doesn't work in kernel 2.4.14
  2001-11-12  8:57 loop Device doesn't work in kernel 2.4.14 johann.pfefferl.jp
  2001-11-12  9:11 ` DevilKin
@ 2001-11-12  9:15 ` Adrian Bunk
  1 sibling, 0 replies; 3+ messages in thread
From: Adrian Bunk @ 2001-11-12  9:15 UTC (permalink / raw)
  To: johann.pfefferl.jp; +Cc: linux-kernel

On Mon, 12 Nov 2001 johann.pfefferl.jp@germany.agfa.com wrote:

> Hello,

Hi Hans,

>...
> # modprobe -v loop
> /sbin/insmod /lib/modules/2.4.14/kernel/drivers/block/loop.o
> Using /lib/modules/2.4.14/kernel/drivers/block/loop.o
> Symbol version prefix ''
> /lib/modules/2.4.14/kernel/drivers/block/loop.o: unresolved symbol deactivate_page
> /lib/modules/2.4.14/kernel/drivers/block/loop.o: insmod /lib/modules/2.4.14/kernel/drivers/block/loop.o failed
> /lib/modules/2.4.14/kernel/drivers/block/loop.o: insmod loop failed
>
> # find /usr/src/linux-2.4.14 -type f -name '*.[ch]' |xargs grep deactivate_page
> /usr/src/linux-2.4.14/drivers/block/loop.c:             deactivate_page(page);
>...
> There seems to be a problem with the routine deactivate_page, which is no longer present
> in the 2.4.14 kernel but is used somehow in the loop device code.

this is a known bug.

The following patch fixes it:

--- linux-2.4.14-broken/drivers/block/loop.c	Thu Oct 25 13:58:34 2001
+++ linux-2.4.14/drivers/block/loop.c	Mon Nov  5 17:06:08 2001
@@ -207,7 +207,6 @@
 		index++;
 		pos += size;
 		UnlockPage(page);
-		deactivate_page(page);
 		page_cache_release(page);
 	}
 	return 0;
@@ -218,7 +217,6 @@
 	kunmap(page);
 unlock:
 	UnlockPage(page);
-	deactivate_page(page);
 	page_cache_release(page);
 fail:
 	return -1;

> Hans

cu
Adrian

-- 

Get my GPG key: finger bunk@debian.org | gpg --import

Fingerprint: B29C E71E FE19 6755 5C8A  84D4 99FC EA98 4F12 B400


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2001-11-12  9:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-11-12  8:57 loop Device doesn't work in kernel 2.4.14 johann.pfefferl.jp
2001-11-12  9:11 ` DevilKin
2001-11-12  9:15 ` Adrian Bunk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).