patch-2.0.34 linux/fs/smbfs/inode.c
Next file: linux/fs/smbfs/proc.c
Previous file: linux/fs/smbfs/dir.c
Back to the patch index
Back to the overall index
- Lines: 44
- Date:
Wed Jun 3 15:17:49 1998
- Orig file:
v2.0.33/linux/fs/smbfs/inode.c
- Orig date:
Mon Sep 15 10:02:41 1997
diff -u --recursive --new-file v2.0.33/linux/fs/smbfs/inode.c linux/fs/smbfs/inode.c
@@ -95,11 +95,10 @@
{
struct smb_server *server = SMB_SERVER(inode);
struct smb_inode_info *info = SMB_INOP(inode);
- struct smb_dirent *finfo;
__u32 mtime = inode->i_mtime;
if (inode->i_count > 1) {
- printk("smb_put_inode: in use device %s, inode %ld count=%d\n",
+ printk("smb_put_inode: in use device %s, inode %ld count=%ld\n",
kdevname(inode->i_dev), inode->i_ino, inode->i_count);
return;
}
@@ -107,6 +106,12 @@
if (S_ISDIR(inode->i_mode))
{
smb_invalid_dir_cache(inode->i_ino);
+ } else
+ {
+ /*
+ * Clear the length so the info structure can't be found.
+ */
+ info->finfo.len = 0;
}
clear_inode(inode);
@@ -116,13 +121,13 @@
*/
inode->i_count++;
if (info) {
- finfo = &info->finfo;
- if (finfo->opened != 0)
+ if (info->finfo.opened != 0)
{
- if (smb_proc_close(server, finfo->fileid, mtime))
+ if (smb_proc_close(server, info->finfo.fileid, mtime))
{
/* We can't do anything but complain. */
- printk("smb_put_inode: could not close\n");
+ printk("smb_put_inode: could not close %s\n",
+ info->finfo.name);
}
}
smb_free_inode_info(info);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov