lkml.org 
[lkml]   [1997]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subjectsmbfs patch in 2.0.31-pre5?
Date
Did the following smbfs patch made it into the 2.0.31 kernel yet? It seemed
to have fixed my occassional smbfs problems. This patch is not my own, but
just found on linuxhq.

--- linux-2.0.30/fs/smbfs/sock.c.old Sun Apr 27 15:53:57 1997
+++ linux-2.0.30/fs/smbfs/sock.c Fri Aug 1 11:08:35 1997
@@ -338,6 +338,8 @@
DPRINTK("smb_receive: Increase packet size from %d to %d\n",
server->packet_size, len + 4);
smb_vfree(server->packet);
+ server->packet = NULL;
+
server->packet_size = 0;
server->packet = smb_vmalloc(len + 4);
if (server->packet == NULL)
--- linux-2.0.30/fs/smbfs/proc.c.old Sun Apr 27 15:53:57 1997
+++ linux-2.0.30/fs/smbfs/proc.c Fri Aug 1 10:34:49 1997
@@ -1685,6 +1685,7 @@
if (server->packet != NULL)
{
smb_vfree(server->packet);
+ server->packet = NULL;
server->packet_size = 0;
}
server->packet = smb_vmalloc(max_xmit);
@@ -1920,6 +1921,7 @@

/* Now make a new packet with the correct size. */
smb_vfree(server->packet);
+ server->packet = NULL;

server->packet = smb_vmalloc(server->max_xmit);
if (server->packet == NULL)
--- linux-2.0.30/fs/smbfs/inode.c.old Sun Dec 1 08:58:05 1996
+++ linux-2.0.30/fs/smbfs/inode.c Fri Aug 1 11:32:57 1997
@@ -96,10 +96,23 @@
struct smb_server *server = SMB_SERVER(inode);
struct smb_inode_info *info = SMB_INOP(inode);

+ if (inode->i_count > 1) {
+ printk("smb_put_inode: in use device %s, inode %ld count=%d\n",
+ kdevname(inode->i_dev), inode->i_ino, inode->i_count);
+ return;
+ }
+
if (S_ISDIR(inode->i_mode))
{
smb_invalid_dir_cache(inode->i_ino);
}
+ clear_inode(inode);
+
+ /*
+ * We don't want the inode to be reused as free if we block here,
+ * so temporarily increment i_count.
+ */
+ inode->i_count++;
if (finfo->opened != 0)
{
if (smb_proc_close(server, finfo->fileid, inode->i_mtime))
@@ -109,7 +122,7 @@
}
}
smb_free_inode_info(info);
- clear_inode(inode);
+ inode->i_count--;
}

static void
Michael

--
Dr. Michael Meskes, Project-Manager | topsystem Systemhaus GmbH
meskes@topsystem.de | Europark A2, Adenauerstr. 20
meskes@debian.org | 52146 Wuerselen
Go SF49ers! Go Rhein Fire! | Tel: (+49) 2405/4670-44
Use Debian GNU/Linux! | Fax: (+49) 2405/4670-10
\
 
 \ /
  Last update: 2005-03-22 13:40    [from the cache]
©2003-2011 Jasper Spaans