Messages in this thread Patch in this message | | | Date | Sun, 9 Aug 1998 12:22:48 -0400 | From | Mike Bennett <> | Subject | Re: smbfs in stable kernels. |
| |
On Tue, Jul 28, 1998 at 09:55:10PM -0700, Slyglif Cain wrote: > A while ago I saw this patch on usenet to fix a problem in the stable > kernel series with smbfs. The problem is that, even with the Win95 > bug work-around enabled, only 64 files are ever shown in a directory > listing, and the ones that disappear seems to be rather random. I > looked though the Documentation directory for the kernel, and the > smbfs code, but I couldn't find a maintainer. So, attached is a patch > to fix this problem. It turns out that there was a bug in the bug fix > (a misplaced "}"). If possible, could this be incorporated into the > main kernel source, as I see this problem on comp.protocols.smb. It > was created against 2.0.33, and applies cleanly against 2.0.34 and > 2.0.35.
A few weeks ago I caught this message which exactly describes the problem I also see. I had been waiting for a response from someone to confirm that it is a valid/proper fix before using it myself as I'm not a skilled programmer, but I haven't seen any comments on it.
I did pull down 2.0.36pre1 and 2, but it didn't make its way into these patches. Perhaps it was overlooked in the original post, so I thought I'd through it out for the gurus to see again. :)
Thanks!
diff -u --recursive --new-file linux-2.0.33.orig/fs/smbfs/proc.c linux-2.0.33/fs/smbfs/proc.c --- linux-2.0.33.orig/fs/smbfs/proc.c Thu Apr 30 18:23:30 1998 +++ linux-2.0.33/fs/smbfs/proc.c Thu Apr 30 18:24:59 1998 @@ -1217,15 +1217,15 @@ WSET(param, 10, 8 + 4 + 2); /* resume required + close on end + continue */ + } #ifdef CONFIG_SMB_WIN95 - /* Windows 95 is not able to deliver answers - to FIND_NEXT fast enough, so sleep 0.2 seconds */ - current->timeout = jiffies + HZ / 5; - current->state = TASK_INTERRUPTIBLE; - schedule(); - current->timeout = 0; + /* Windows 95 is not able to deliver answers + to FIND_NEXT fast enough, so sleep 0.2 seconds */ + current->timeout = jiffies + HZ / 5; + current->state = TASK_INTERRUPTIBLE; + schedule(); + current->timeout = 0; #endif - } result = smb_trans2_request(server, command, 0, NULL, 12 + mask_len + 2, param, | |