PDA

View Full Version : cloop 0.68 and Red Hat 7.3 problem compilation



lucky
05-19-2003, 08:53 AM
Hi all,

I want to try the cloop module under RedHat 7.3, but when i try to compile the module i have the following error:

# make KERNEL_DIR=/usr/src/linux-2.4.18-3/

cc -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -s -I. -fno-strict-aliasing -fno-common -fomit-frame-pointer -mpreferred-stack-boundary=2 -march=i386 -D__KERNEL__ -DMODULE -I/usr/src/linux-2.4.18-3//include -DMODVERSIONS -include /usr/src/linux-2.4.18-3//include/linux/modversions.h compressed_loop.c -c -o compressed_loop.o

compressed_loop.c: In function `clo_read_from_file':
compressed_loop.c:279: too few arguments to function `do_generic_file_read_R4e76ab37'
make: *** [compressed_loop.o] Error 1


Is there anybody out there with the same problem?

Thanks in advance. :(

lucky
05-19-2003, 10:12 AM
i have read the file compressed_loop.c and the Makefile,

i have rebuilt the module with this option -DREDHAT_KERNEL
but when i load the module i have this error:

kernel: cloop: Welcome to cloop v0.68
kernel: cloop: out of kernel mem for offsets

What's the problem?

Thanks in advance and excuse me for my english.

garyng
05-19-2003, 10:57 AM
it could really mean out of memory. cloop stored a 4 byte offset for each 'uncompressed block' of the original device. So in the case of knoppix which I believe is compressed from some 2G(?) image divided in 64K block, it would be 30000x4(8?) memory allocated for the offsets.

Another possibility is that you tell it to mount something that is not a clooped image and it will go wild as there isn't any signature in the image.

lucky
05-19-2003, 11:11 AM
hi,

if i do :
mkisofs -r /tmp|create_compressed_fs - 1024 > iso.compressed
insmod cloop file=iso.compressed

i have this error
kernel: cloop: Welcome to cloop v0.68
kernel: cloop: out of kernel mem for offsets

Instead if i do
mkisofs -r /tmp|create_compressed_fs - 65536 > iso.compressed
insmod cloop file=iso.compressed

kernel: cloop: Welcome to cloop v0.68
kernel: cloop: iso.compressed: 903 blocks, 65536 bytes/block, largest block is 65562 bytes.
kernel: cloop: loaded (max 1 devices)

Why?

1024 is a multiple of 512.

garyng
05-19-2003, 11:16 AM
As I said, each block needs 4(or 8 ?) bytes to store the offset(and they got loaded all in-memory when you insmod cloop.o) and if you use a block size of 1024(1K), a 600M file will have 600x1K offsets. Lots of memory used. Stick to 64K block.

lucky
05-19-2003, 11:19 AM
ok

Thanks........ :D

Regards.

Lucky.