patch-2.3.99-pre9 linux/fs/smbfs/dir.c
Next file: linux/fs/smbfs/file.c
Previous file: linux/fs/readdir.c
Back to the patch index
Back to the overall index
- Lines: 48
- Date:
Sat May 20 10:55:28 2000
- Orig file:
v2.3.99-pre8/linux/fs/smbfs/dir.c
- Orig date:
Fri Mar 10 16:40:48 2000
diff -u --recursive --new-file v2.3.99-pre8/linux/fs/smbfs/dir.c linux/fs/smbfs/dir.c
@@ -168,7 +168,7 @@
static int smb_lookup_validate(struct dentry *, int);
static int smb_hash_dentry(struct dentry *, struct qstr *);
static int smb_compare_dentry(struct dentry *, struct qstr *, struct qstr *);
-static void smb_delete_dentry(struct dentry *);
+static int smb_delete_dentry(struct dentry *);
static struct dentry_operations smbfs_dentry_operations =
{
@@ -259,9 +259,9 @@
/*
* This is the callback from dput() when d_count is going to 0.
- * We use this to unhash dentries with bad inodes and close files.
+ * We use this to unhash dentries with bad inodes.
*/
-static void
+static int
smb_delete_dentry(struct dentry * dentry)
{
if (dentry->d_inode)
@@ -272,13 +272,13 @@
printk("smb_delete_dentry: bad inode, unhashing %s/%s\n",
dentry->d_parent->d_name.name, dentry->d_name.name);
#endif
- d_drop(dentry);
+ return 1;
}
- smb_close_dentry(dentry);
} else
{
/* N.B. Unhash negative dentries? */
}
+ return 0;
}
/*
@@ -466,10 +466,7 @@
smb_invalid_dir_cache(dir);
error = smb_proc_unlink(dentry);
if (!error)
- {
smb_renew_times(dentry);
- d_delete(dentry);
- }
return error;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)