diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-02-23 00:40:54 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-02-23 00:40:54 +0000 |
commit | 529c593ece216e4aaffd36bd940cb94f1fa63129 (patch) | |
tree | 78f1c0b805f5656aa7b0417a043c5346f700a2cf /fs/romfs | |
parent | 0bd079751d25808d1972baee5c4eaa1db2227257 (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.c | 65 |
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); |