diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-07-08 00:53:00 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-07-08 00:53:00 +0000 |
commit | b8553086288629b4efb77e97f5582e08bc50ad65 (patch) | |
tree | 0a19bd1c21e148f35c7a0f76baa4f7a056b966b0 /fs/affs | |
parent | 75b6d92f2dd5112b02f4e78cf9f35f9825946ef0 (diff) |
Merge with 2.4.0-test3-pre4.
Diffstat (limited to 'fs/affs')
-rw-r--r-- | fs/affs/symlink.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/affs/symlink.c b/fs/affs/symlink.c index aee023ef5..f7e78a75d 100644 --- a/fs/affs/symlink.c +++ b/fs/affs/symlink.c @@ -14,6 +14,7 @@ #include <linux/affs_fs.h> #include <linux/amigaffs.h> #include <linux/pagemap.h> +#include <linux/smp_lock.h> static int affs_symlink_readpage(struct file *file, struct page *page) { @@ -30,7 +31,9 @@ static int affs_symlink_readpage(struct file *file, struct page *page) pr_debug("AFFS: follow_link(ino=%lu)\n",inode->i_ino); err = -EIO; + lock_kernel(); bh = affs_bread(inode->i_dev,inode->i_ino,AFFS_I2BSIZE(inode)); + unlock_kernel(); if (!bh) goto fail; i = 0; @@ -59,7 +62,9 @@ static int affs_symlink_readpage(struct file *file, struct page *page) j++; } link[i] = '\0'; + lock_kernel(); affs_brelse(bh); + unlock_kernel(); SetPageUptodate(page); kunmap(page); UnlockPage(page); |