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/isofs | |
parent | 75b6d92f2dd5112b02f4e78cf9f35f9825946ef0 (diff) |
Merge with 2.4.0-test3-pre4.
Diffstat (limited to 'fs/isofs')
-rw-r--r-- | fs/isofs/rock.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/isofs/rock.c b/fs/isofs/rock.c index 925c8e2fd..4413b9989 100644 --- a/fs/isofs/rock.c +++ b/fs/isofs/rock.c @@ -13,6 +13,7 @@ #include <linux/mm.h> #include <linux/malloc.h> #include <linux/pagemap.h> +#include <linux/smp_lock.h> #include "rock.h" @@ -466,6 +467,7 @@ static int rock_ridge_symlink_readpage(struct file *file, struct page *page) panic ("Cannot have symlink with high sierra variant of iso filesystem\n"); block = inode->i_ino >> bufbits; + lock_kernel(); bh = bread(inode->i_dev, block, bufsize); if (!bh) goto out_noread; @@ -518,6 +520,7 @@ static int rock_ridge_symlink_readpage(struct file *file, struct page *page) goto fail; brelse(bh); *rpnt = '\0'; + unlock_kernel(); SetPageUptodate(page); kunmap(page); UnlockPage(page); @@ -535,6 +538,7 @@ static int rock_ridge_symlink_readpage(struct file *file, struct page *page) printk("symlink spans iso9660 blocks\n"); fail: brelse(bh); + unlock_kernel(); SetPageError(page); kunmap(page); UnlockPage(page); |