diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-03-02 02:36:47 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-03-02 02:36:47 +0000 |
commit | 8624512aa908741ba2795200133eae0d7f4557ea (patch) | |
tree | d5d3036fccf2604f4c98dedc11e8adb929d6b52e /fs/efs | |
parent | 7b8f5d6f1d45d9f9de1d26e7d3c32aa5af11b488 (diff) |
Merge with 2.3.48.
Diffstat (limited to 'fs/efs')
-rw-r--r-- | fs/efs/dir.c | 7 | ||||
-rw-r--r-- | fs/efs/file.c | 9 | ||||
-rw-r--r-- | fs/efs/inode.c | 14 | ||||
-rw-r--r-- | fs/efs/super.c | 12 |
4 files changed, 9 insertions, 33 deletions
diff --git a/fs/efs/dir.c b/fs/efs/dir.c index 1283f9fdc..2829a60eb 100644 --- a/fs/efs/dir.c +++ b/fs/efs/dir.c @@ -8,14 +8,13 @@ static int efs_readdir(struct file *, void *, filldir_t); -static struct file_operations efs_dir_operations = { +struct file_operations efs_dir_operations = { + read: generic_read_dir, readdir: efs_readdir, }; struct inode_operations efs_dir_inode_operations = { - &efs_dir_operations, /* default directory file-ops */ - NULL, /* create */ - efs_lookup, /* lookup */ + lookup: efs_lookup, }; static int efs_readdir(struct file *filp, void *dirent, filldir_t filldir) { diff --git a/fs/efs/file.c b/fs/efs/file.c index 3c6de9b28..67f58987e 100644 --- a/fs/efs/file.c +++ b/fs/efs/file.c @@ -60,12 +60,3 @@ int efs_bmap(struct inode *inode, efs_block_t block) { return efs_map_block(inode, block); } - -static struct file_operations efs_file_operations = { - read: generic_file_read, - mmap: generic_file_mmap, -}; - -struct inode_operations efs_file_inode_operations = { - &efs_file_operations, /* default file operations */ -}; diff --git a/fs/efs/inode.c b/fs/efs/inode.c index 0206ae6d5..93edbaac6 100644 --- a/fs/efs/inode.c +++ b/fs/efs/inode.c @@ -137,9 +137,10 @@ void efs_read_inode(struct inode *inode) { switch (inode->i_mode & S_IFMT) { case S_IFDIR: inode->i_op = &efs_dir_inode_operations; + inode->i_fop = &efs_dir_operations; break; case S_IFREG: - inode->i_op = &efs_file_inode_operations; + inode->i_fop = &generic_ro_fops; inode->i_data.a_ops = &efs_aops; break; case S_IFLNK: @@ -161,16 +162,7 @@ void efs_read_inode(struct inode *inode) { read_inode_error: printk(KERN_WARNING "EFS: failed to read inode %lu\n", inode->i_ino); - inode->i_mode = S_IFREG; - inode->i_atime = 0; - inode->i_ctime = 0; - inode->i_mtime = 0; - inode->i_nlink = 1; - inode->i_size = 0; - inode->i_blocks = 0; - inode->i_uid = 0; - inode->i_gid = 0; - inode->i_op = NULL; + make_bad_inode(inode); return; } diff --git a/fs/efs/super.c b/fs/efs/super.c index df0f167cb..4522b2cfe 100644 --- a/fs/efs/super.c +++ b/fs/efs/super.c @@ -21,15 +21,9 @@ static struct file_system_type efs_fs_type = { }; static struct super_operations efs_superblock_operations = { - efs_read_inode, /* read_inode */ - NULL, /* write_inode */ - NULL, /* put_inode */ - NULL, /* delete_inode */ - NULL, /* notify_change */ - efs_put_super, /* put_super */ - NULL, /* write_super */ - efs_statfs, /* statfs */ - NULL /* remount */ + read_inode: efs_read_inode, + put_super: efs_put_super, + statfs: efs_statfs, }; int __init init_efs_fs(void) { |