PDA

View Full Version : Unionfs hangs - Knoppix v3.9



toltech
06-25-2005, 06:01 PM
L.s,
We remaster knoppix using the following technique:
/dev/hda2 on /KNOPPIX type ext2 (rw)
/UNIONFS on /UNIONFS type unionfs (rw,noatime,dirs=/ramdisk=rw:/KNOPPIX=ro,debug=0,err=tryleft,delete=all,copyup=p reserve,setattr=left)

This means we have copied the knoppix image to device /dev/hda2 and mount that instead of the loopback file. This has worked for us for quite some time. Now upon remastering V3.9. we get the follwing problem (not with using the loopback file):
Accessing any subdirectory in UNIONFS can be done (for example "ls /UNIONFS/bin/", however doing an "ls /UNIONFS/", makes any program hang. So everything works find till the moment a programs does directory listing on /UNIONFS/, this only affects the specified program, other programs still continue working as normal

This is end of the strace of : "ls /UNIONFS/" :
connect(3, {sa_family=AF_FILE, path="/var/run/.nscd_socket"}, 110) = 0
writev(3, [{"\2\0\0\0\3\0\0\0\2\0\0\0", 12}, {"0\0", 2}], 2) = 14
read(3, "\2\0\0\0\1\0\0\0\5\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0", 24) = 24
readv(3, [{"", 0}, {"root\0x\0", 7}], 2) = 7
read(3, NULL, 0) = 0
close(3) = 0
open("/UNIONFS/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|S_ISVTX|0777, st_size=180, ...}) = 0
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
getdents64(3,

At the last line everything stops, we cant even kill the program anymore

Does anyone have this problem or experienced something similar?
gr.
Robert

ps. for your convenience, this is part of the output of strace /UNIONFS/usr/include (which runs normaly)
open("/UNIONFS/usr/include/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
getdents64(3, /* 130 entries */, 4096) = 4080
getdents64(3, /* 130 entries */, 4096) = 4088
getdents64(3, /* 35 entries */, 4096) = 1128
getdents64(3, /* 0 entries */, 4096) = 0
close(3)
munmap(0xb7fe8000, 4096) = 0
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 3), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fe8000
write(1, "FlexLexer.h crypt.h\t\t gssapi\t"..., 54FlexLexer.h crypt.h gssapi mcheck.h setjmp.h
) = 54
write(1, "GL\t ctype.h\t\t gtk-1.2\t me"..., 46GL ctype.h gtk-1.2 media sgtty.h
) = 46
write(1, "OpenEXR cups\t\t icc34.h\t "..., 51OpenEXR cups icc34.h memory.h shadow.h
) = 51
write(1, "SDL\t curses.h\t\t iconv.h\t "..., 49SDL curses.h iconv.h menu.h signal.h
) = 49
.....etc.....