summaryrefslogtreecommitdiffstats
path: root/fs/romfs
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-02-23 00:40:54 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-02-23 00:40:54 +0000
commit529c593ece216e4aaffd36bd940cb94f1fa63129 (patch)
tree78f1c0b805f5656aa7b0417a043c5346f700a2cf /fs/romfs
parent0bd079751d25808d1972baee5c4eaa1db2227257 (diff)
Merge with 2.3.43. I did ignore all modifications to the qlogicisp.c
driver due to the Origin A64 hacks.
Diffstat (limited to 'fs/romfs')
-rw-r--r--fs/romfs/inode.c65
1 files changed, 10 insertions, 55 deletions
diff --git a/fs/romfs/inode.c b/fs/romfs/inode.c
index 692754912..ab5972591 100644
--- a/fs/romfs/inode.c
+++ b/fs/romfs/inode.c
@@ -446,47 +446,21 @@ romfs_readpage(struct dentry * dentry, struct page * page)
/* Mapping from our types to the kernel */
+static struct address_space_operations romfs_aops = {
+ readpage: romfs_readpage
+};
+
static struct file_operations romfs_file_operations = {
- NULL, /* lseek - default */
- generic_file_read, /* read */
- NULL, /* write - bad */
- NULL, /* readdir */
- NULL, /* poll - default */
- NULL, /* ioctl */
- generic_file_mmap, /* mmap */
- NULL, /* open */
- NULL, /* flush */
- NULL, /* release */
- NULL, /* fsync */
- NULL, /* fasync */
+ read: generic_file_read,
+ mmap: generic_file_mmap,
};
static struct inode_operations romfs_file_inode_operations = {
&romfs_file_operations,
- NULL, /* create */
- NULL, /* lookup */
- NULL, /* link */
- NULL, /* unlink */
- NULL, /* symlink */
- NULL, /* mkdir */
- NULL, /* rmdir */
- NULL, /* mknod */
- NULL, /* rename */
- NULL, /* readlink */
- NULL, /* follow_link */
- NULL, /* get_block -- not really */
- romfs_readpage, /* readpage */
- NULL, /* writepage */
- NULL, /* truncate */
- NULL, /* permission */
- NULL /* revalidate */
};
static struct file_operations romfs_dir_operations = {
- NULL, /* lseek - default */
- NULL, /* read */
- NULL, /* write - bad */
- romfs_readdir, /* readdir */
+ readdir: romfs_readdir,
};
/* Merged dir/symlink op table. readdir/lookup/readlink/follow_link
@@ -497,27 +471,6 @@ static struct inode_operations romfs_dir_inode_operations = {
&romfs_dir_operations,
NULL, /* create */
romfs_lookup, /* lookup */
- NULL, /* link */
- NULL, /* unlink */
- NULL, /* symlink */
- NULL, /* mkdir */
- NULL, /* rmdir */
- NULL, /* mknod */
- NULL, /* rename */
- NULL, /* readlink */
- NULL, /* follow_link */
- NULL, /* get_block */
- NULL, /* readpage */
- NULL, /* writepage */
- NULL, /* truncate */
- NULL, /* permission */
- NULL /* revalidate */
-};
-
-static struct inode_operations romfs_link_inode_operations = {
- readlink: page_readlink,
- follow_link: page_follow_link,
- readpage: romfs_readpage
};
static mode_t romfs_modemap[] =
@@ -531,7 +484,7 @@ static struct inode_operations *romfs_inoops[] =
NULL, /* hardlink, handled elsewhere */
&romfs_dir_inode_operations,
&romfs_file_inode_operations,
- &romfs_link_inode_operations,
+ &page_symlink_inode_operations,
NULL, /* device/fifo/socket nodes, */
NULL, /* set by init_special_inode */
NULL,
@@ -587,6 +540,8 @@ romfs_read_inode(struct inode *i)
i->i_mode = ino;
if (S_ISDIR(ino))
i->i_size = i->u.romfs_i.i_metasize;
+ else
+ i->i_data.a_ops = &romfs_aops;
} else {
/* depending on MBZ for sock/fifos */
nextfh = ntohl(ri.spec);