summaryrefslogtreecommitdiffstats
path: root/fs/smbfs
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-07-08 00:53:00 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-07-08 00:53:00 +0000
commitb8553086288629b4efb77e97f5582e08bc50ad65 (patch)
tree0a19bd1c21e148f35c7a0f76baa4f7a056b966b0 /fs/smbfs
parent75b6d92f2dd5112b02f4e78cf9f35f9825946ef0 (diff)
Merge with 2.4.0-test3-pre4.
Diffstat (limited to 'fs/smbfs')
-rw-r--r--fs/smbfs/dir.c3
-rw-r--r--fs/smbfs/inode.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/fs/smbfs/dir.c b/fs/smbfs/dir.c
index b5715b220..00fefa101 100644
--- a/fs/smbfs/dir.c
+++ b/fs/smbfs/dir.c
@@ -9,6 +9,7 @@
#include <linux/sched.h>
#include <linux/errno.h>
#include <linux/kernel.h>
+#include <linux/smp_lock.h>
#include <linux/smb_fs.h>
#include <linux/smbno.h>
@@ -202,6 +203,7 @@ dentry->d_parent->d_name.name, dentry->d_name.name, age);
if (inode)
{
+ lock_kernel();
if (is_bad_inode(inode))
{
#ifdef SMBFS_PARANOIA
@@ -211,6 +213,7 @@ dentry->d_parent->d_name.name, dentry->d_name.name);
valid = 0;
} else if (!valid)
valid = (smb_revalidate_inode(dentry) == 0);
+ unlock_kernel();
} else
{
/*
diff --git a/fs/smbfs/inode.c b/fs/smbfs/inode.c
index 769aa7e56..89ddfb22a 100644
--- a/fs/smbfs/inode.c
+++ b/fs/smbfs/inode.c
@@ -18,6 +18,7 @@
#include <linux/init.h>
#include <linux/file.h>
#include <linux/dcache.h>
+#include <linux/smp_lock.h>
#include <linux/smb_fs.h>
#include <linux/smbno.h>
@@ -230,6 +231,7 @@ smb_revalidate_inode(struct dentry *dentry)
* If this is a file opened with write permissions,
* the inode will be up-to-date.
*/
+ lock_kernel();
if (S_ISREG(inode->i_mode) && smb_is_open(inode))
{
if (inode->u.smbfs_i.access != SMB_O_RDONLY)
@@ -267,6 +269,7 @@ dentry->d_parent->d_name.name, dentry->d_name.name,
smb_invalid_dir_cache(inode);
}
out:
+ unlock_kernel();
return error;
}