summaryrefslogtreecommitdiffstats
path: root/fs/isofs
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-06-22 23:05:57 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-06-22 23:05:57 +0000
commit51d3b7814cdccef9188240fe0cbd8d97ff2c7470 (patch)
tree5cbb01d0323d4f63ade66bdf48ba4a91aaa6df16 /fs/isofs
parent52273a23c9a84336b93a35e4847fc88fac7eb0e4 (diff)
Merge with Linux 2.3.7.
WARNING: 2.3.7 is known to eat filesystems for breakfast and little children for lunch, so if you try this on your machine make backups first ...
Diffstat (limited to 'fs/isofs')
-rw-r--r--fs/isofs/file.c5
-rw-r--r--fs/isofs/inode.c12
2 files changed, 14 insertions, 3 deletions
diff --git a/fs/isofs/file.c b/fs/isofs/file.c
index e2b4405d9..ce85b367a 100644
--- a/fs/isofs/file.c
+++ b/fs/isofs/file.c
@@ -48,9 +48,10 @@ struct inode_operations isofs_file_inode_operations = {
NULL, /* rename */
NULL, /* readlink */
NULL, /* follow_link */
- generic_readpage, /* readpage */
- NULL, /* writepage */
isofs_bmap, /* bmap */
+ block_read_full_page, /* readpage */
+ NULL, /* writepage */
+ NULL, /* flushpage */
NULL, /* truncate */
NULL /* permission */
};
diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c
index 1d88aaea8..01d37a849 100644
--- a/fs/isofs/inode.c
+++ b/fs/isofs/inode.c
@@ -26,6 +26,7 @@
#include <linux/init.h>
#include <linux/nls.h>
#include <linux/ctype.h>
+#include <linux/smp_lock.h>
#include <asm/system.h>
#include <asm/uaccess.h>
@@ -909,7 +910,7 @@ int isofs_statfs (struct super_block *sb, struct statfs *buf, int bufsiz)
return copy_to_user(buf, &tmp, bufsiz) ? -EFAULT : 0;
}
-int isofs_bmap(struct inode * inode,int block)
+static int do_isofs_bmap(struct inode * inode,int block)
{
off_t b_off, offset, size;
struct inode *ino;
@@ -991,6 +992,15 @@ int isofs_bmap(struct inode * inode,int block)
return (b_off - offset + firstext) >> ISOFS_BUFFER_BITS(inode);
}
+int isofs_bmap(struct inode * inode,int block)
+{
+ int retval;
+
+ lock_kernel();
+ retval = do_isofs_bmap(inode, block);
+ unlock_kernel();
+ return retval;
+}
static void test_and_set_uid(uid_t *p, uid_t value)
{