Note: I have already reported on KDE bugzilla, without any resolution yet. The report is here: http://bugs.kde.org/show_bug.cgi?id=92347 For the record I repeat the original report here as well: Using linux kernel 2.6.9 (plain vanilla from kernel.org, no patches) in Gentoo distro on both client and server. Both machines are also running samba 3.0.7 from Gentoo portage. Server is configured to export network share in pure CIFS way (no Samba) with linux extension on. Client mounts this share using fstab line command: //amd-k6/data /mnt/amd cifs iocharset=utf8,user=risa,noauto 0 0 (risa is allowed username on CIFS server, amd-k6 is server name) There is no problem mounting this share from console (either from vc, or from Konsole in KDE), i.e files are accessible as expected charset translation works as expected etc. When I try to browse mounted share in konqueror, it hangs in hard way. Hanging process cannot be killed (I presume it hangs in kernel). Even after shutting down X server it remains. ps -AFH looks like this: UID PID PPID C SZ RSS PSR STIME TTY TIME CMD root 1 0 0 339 496 0 12:34 ? 00:00:01 init [3] <omitted all other processes> root 9786 1 0 0 0 0 12:40 ? 00:00:00 [cifsd] risa 27165 1 0 9421 23568 0 20:41 ? 00:00:00 kdeinit: konqueror --silent The problem is that after this happen it is impossible to shutdown correctly, because it is not possible to unmount network share. It is not possible to kill the konqueror process, it is however possible to kill [cifsd] process (which is probably hung up too). Sometimes it leads to crash, sometimes not. Just for the record, applications using GTK(2) like GVim, Ethereal, run fine and can access mounted network share without any problem. I can submit CIFS log (created from "cifsFYI=1") and network capture from communication between server and client. -------------------- Since then, I have updated to samba-3.0.8 and kde-3.3.1 full install, neither update solved the problem mentioned. Reproducible: Always Steps to Reproduce: 1.mount cifs 2.navigate konqueror to mounted folder 3.konqueror hangs I thought this was a problem in konqueror or same base kde component. Someone suggested it is in kio. I am not sure, whether it is related directly to gentoo, but at least on my gentoo it exposes quite clearly. The strange is, not much reports appeared until now. There are binary files attached to original report on KDE bugzilla which might be helpful.
Happening to me too - actually, it's worse for me... if I mount a cifs share, the whole KDE panel hangs when I click on the "K". According to the devs at KDE, this is a kernel bug. There is a patch for the 2.6.9 kernel attached to the bug report you linked in bugs.kde.org. I'd love to see this patch make it into a 2.6.9-r10 ;)
You can wait for kernel 2.6.10. but in the meantime I'll CC kernel people. It's upon them to decide this.
FWIW, kernel folks... I'm on amd64 arch. I know this bug is filed against x86, so FYI. The bug is a little more critical than is described in the KDE bug report. I cannot get smbfs to work, so cifs is the only thing that works for me right now. Unfortunately, it hangs all of my KDE even when I click on the Start menu... I don't have to browse a share for it to freeze.
ad #1, #2 If you take a look at the link I posted in the report there is whole thread at KDE bugzilla. I this thread I posted the patch for kernel 2.6.9 according to instruction someone pointed out here: http://lists.samba.org/archive/linux-cifs-client/2004-December/000612.html The patch so simple that you can get the idea for other kernel versions. If you follow the link a mentioned i previuos sentence, you will find out that kernel people already know about this and the fix will be in 2.6.10. ad #3 If you are facing problems with smbfs or cifs without even any browsing then this is probably different issue. This one is strictly related to browsing network share in konqueror and is produced by wrong implementation of directory notify feature in cifs. I suggest to change resolution of this bug to FIXED.
I know that the bug is fixed on the kdeside (it doesn't exists). Now the bug is on the kernel side as the gentoo-sources doesn't provide this patch (until linux-2.6.10 is out). So I CCed the kernel herd so they are aware of this fact. kernel herd: if you accept this bug feel free to change the bug owner from kde to kernel. thanks.
the kernel fix is pretty simple. ---------------- --- cifsfs.c.old 2004-12-14 21:04:10.404790384 +0100 +++ cifsfs.c 2004-12-14 21:05:37.780507256 +0100 @@ -537,14 +537,18 @@ .flush = cifs_flush, .mmap = cifs_file_mmap, .sendfile = generic_file_sendfile, +/* .dir_notify = cifs_dir_notify, +*/ }; struct file_operations cifs_dir_ops = { .readdir = cifs_readdir, .release = cifs_closedir, .read = generic_read_dir, +/* .dir_notify = cifs_dir_notify, +*/ }; static void ----------------- But I dont think this warrants inclusion into the tree. I will however leave it up to greg or dsd to decide, since theyre the main maintainers.
Patching my 2.6.9-r9 kernel with the cifsfs.c patch in the KDE bug report fixed the issue for me.
That patch is an evil workaround and won't get into our kernel. It would be nice if someone could test 2.6.10-rc3 and confirm that it definately is fixed (without need for patching) there.
Actually, a similar fix has been merged into 2.6.10 The following patch should fix 2.6.9 and will be considered for inclusion if we do another gentoo-dev-sources 2.6.9 release http://linux.bkbits.net:8080/linux-2.6/gnupatch@41b8f2d45ZvDh290WROGkhznUh7Qjg
Sorry, there have been too many changes to the cifsfs.c file in 2.6.10 such that the above patch doesn't apply to 2.6.9 without a million other patches alongside it. You are going to have to wait for 2.6.10, sorry for the inconvenience.
I would like to make few comments, particularly with regard to #8,#9,#10. This patch is definitely workaround, not a solution. As was already pointed out by cifs kernel developer here: http://lists.samba.org/archive/linux-cifs-client/2004-December/000612.html the notify feature was substantially broken and simply did not work. Therefore you see quite significant changes in 2.6.10 kernel in this part. However I do not agree with that is "evil workaround". Apart from the fact the change is really very simple, it also does not change any conditional logic or expression evalution in the code. The patch just disables feature (which was broken anyway) by hiding it. So even if there is some user space client somewhere which depends on this feature being present (konqueror works fine without this feature - you just do not get directory content updated automatically), this no longer should hang kernel, which is the important result. So this is probably most stable workaround (apart from fixing it). I am not saying that it should be included into kernel, this is up to folks from gentoo kernel, but I am trying to ease it a bit for people who are not able/willing to switch to the new kernel, but need to fix it ASAP, and may by in doubts.