Summary: | konqueror hangs when accessing CIFS mounted network share | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Richard Musil <richard.musil> |
Component: | [OLD] KDE | Assignee: | Daniel Drake (RETIRED) <dsd> |
Status: | RESOLVED LATER | ||
Severity: | normal | CC: | kernel, vermyndax |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Richard Musil
2004-11-19 04:48:51 UTC
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. |