Import ncpfs 2.0.11

This commit is contained in:
ncpfs archive import
2026-04-28 20:39:59 +02:00
parent 1a5653d403
commit 915f560f85
8 changed files with 29 additions and 61 deletions

BIN
.downloads/ncpfs-2.0.11.tgz Normal file

Binary file not shown.

5
BUGS
View File

@@ -13,9 +13,8 @@ down the complete ipx subsystem by deleting all ipx interfaces,
unmounting all ncpfs volumes (in this order!) and restarting all
again.
For the kernel hackers who want to look at the problem: The routine
ipx_sendmsg in net/ipx/af_ipx.c sometimes locks forever if called with
nonblock=0. I DO NOT KNOW WHY!!! HELP ME, PLEASE!
This problem has been solved by Martin Stover (THANKS!!)
See patches/lockup-2.0.30.diff for the fix.
-------------------------------------------------------------------------------

View File

@@ -1,6 +1,10 @@
I only began this file with ncpfs-0.12. If you're interested in older
versions, you can find them on ftp.gwdg.de:/pub/linux/misc/ncpfs/old.
ncpfs-2.0.10 -> ncpfs-2.0.11
- Added Martin's patch to Linux 2.0.30 to get rid of the lockups.
MANY thanks to Martin Stover!
ncpfs-2.0.9 -> ncpfs-2.0.10
- Made nwtrustee hopefully work ;-)
- Made the manpages a little bit prettier

View File

@@ -2,7 +2,7 @@
# Makefile for the linux ncp-filesystem routines.
#
VERSION = 2.0.10
VERSION = 2.0.11
# If you are using kerneld to autoload ncp support,
# uncomment this (kerneld is in linux since about 1.3.57):

View File

@@ -1,19 +1,17 @@
Begin3
Title: ncpfs
Version: 2.0.10
Entered-date: 23. February 1997
Version: 2.0.11
Entered-date: July 14, 1997
Description: With ncpfs you can mount volumes of your netware
server under Linux. You can also print to netware
print queues and spool netware print queues to the
Linux printing system. You need kernel 1.2.x or
1.3.71 and above. ncpfs does NOT work with any 1.3.x
kernel below 1.3.71.
Linux printing system.
Keywords: filesystem ncp novell netware printing
Author: lendecke@namu01.Num.Math.Uni-Goettingen.de (Volker Lendecke)
Maintained-by: lendecke@namu01.Num.Math.Uni-Goettingen.de (Volker Lendecke)
Author: lendecke@Math.Uni-Goettingen.de (Volker Lendecke)
Maintained-by: lendecke@Math.Uni-Goettingen.de (Volker Lendecke)
Primary-site: ftp.gwdg.de:/pub/linux/misc/ncpfs
Alternate-site: sunsite.unc.edu:/pub/Linux/system/Filesystems/ncpfs
~158k ncpfs-2.0.10.tgz
~ 1k ncpfs-2.0.10.lsm
~158k ncpfs-2.0.11.tgz
~ 1k ncpfs-2.0.11.lsm
Copying-policy: GPL
End

View File

@@ -4,10 +4,9 @@ and do:
patch -p1 < patch-file
lockup-2.0.28.diff:
An *extremely* dirty fix to the lockup bug mentioned in the BUGS
file. Please only apply it if you experience the problem. Should apply
to 2.0.28 and above in the 2.0.x series. NOT TESTED with 2.1.x.
lockup-2.0.30.diff:
Please apply this patch to your 2.0.30 kernel to get rid of the ncpfs
lockups. See ../BUGS for the symptoms.
linux-2.1.26.diff:
Little fix to make ncpfs work with 2.1.26. Sent to Linus.

View File

@@ -1,44 +0,0 @@
diff -urN 2.0.11/fs/ncpfs/sock.c linux/fs/ncpfs/sock.c
--- 2.0.28/fs/ncpfs/sock.c Fri Jul 12 08:14:53 1996
+++ linux/fs/ncpfs/sock.c Thu Aug 8 19:27:26 1996
@@ -55,7 +55,8 @@
{
struct iovec iov;
struct msghdr msg;
-
+ int result;
+
iov.iov_base = (void *)buff;
iov.iov_len = len;
@@ -65,7 +66,29 @@
msg.msg_iov = &iov;
msg.msg_iovlen = 1;
- return sock->ops->sendmsg(sock, &msg, len, nonblock, flags);
+ result = sock->ops->sendmsg(sock, &msg, len, 1, flags);
+
+ if ((result != -EAGAIN) || (nonblock != 0))
+ {
+ return result;
+ }
+
+ /* The following is probably one of the worst sins you can do
+ to a multitasking kernel: active polling. But when you call
+ ipx_sendmsg with nonblock==0, then it will block forever
+ from time to time. I really do not know why. To work around
+ this, I try to send the packet with nonblock=1 and retry
+ it. */
+
+ do {
+ /* Before retrying, give others a chance */
+ current->state = TASK_INTERRUPTIBLE;
+ current->timeout = jiffies + HZ/10;
+ schedule();
+ result = sock->ops->sendmsg(sock, &msg, len, 1, flags);
+ } while (result == -EAGAIN);
+
+ return result;
}

View File

@@ -0,0 +1,12 @@
diff -u -urN 2.0.30/net/ipx/af_ipx.c 2.0.30-patched/net/ipx/af_ipx.c
--- 2.0.30/net/ipx/af_ipx.c Wed Nov 27 08:44:21 1996
+++ 2.0.30-patched/net/ipx/af_ipx.c Mon Jul 14 17:25:12 1997
@@ -1723,6 +1723,7 @@
}
sk->rcvbuf=SK_RMEM_MAX;
sk->sndbuf=SK_WMEM_MAX;
+ sk->allocation=GFP_KERNEL;
sk->prot=NULL; /* So we use default free mechanisms */
skb_queue_head_init(&sk->receive_queue);
skb_queue_head_init(&sk->write_queue);