summaryrefslogtreecommitdiffstats
path: root/fs/coda/symlink.c
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/coda/symlink.c
parent75b6d92f2dd5112b02f4e78cf9f35f9825946ef0 (diff)
Merge with 2.4.0-test3-pre4.
Diffstat (limited to 'fs/coda/symlink.c')
-rw-r--r--fs/coda/symlink.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/coda/symlink.c b/fs/coda/symlink.c
index 81ac4dfda..252f11664 100644
--- a/fs/coda/symlink.c
+++ b/fs/coda/symlink.c
@@ -14,6 +14,7 @@
#include <linux/stat.h>
#include <linux/errno.h>
#include <linux/locks.h>
+#include <linux/smp_lock.h>
#include <linux/coda.h>
#include <linux/coda_linux.h>
@@ -30,10 +31,12 @@ static int coda_symlink_filler(struct file *file, struct page *page)
unsigned int len = PAGE_SIZE;
char *p = (char*)kmap(page);
+ lock_kernel();
cnp = ITOC(inode);
coda_vfs_stat.follow_link++;
error = venus_readlink(inode->i_sb, &(cnp->c_fid), p, &len);
+ unlock_kernel();
if (error)
goto fail;
SetPageUptodate(page);