summaryrefslogtreecommitdiffstats
path: root/fs/isofs
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-03-02 02:36:47 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-03-02 02:36:47 +0000
commit8624512aa908741ba2795200133eae0d7f4557ea (patch)
treed5d3036fccf2604f4c98dedc11e8adb929d6b52e /fs/isofs
parent7b8f5d6f1d45d9f9de1d26e7d3c32aa5af11b488 (diff)
Merge with 2.3.48.
Diffstat (limited to 'fs/isofs')
-rw-r--r--fs/isofs/Makefile2
-rw-r--r--fs/isofs/dir.c7
-rw-r--r--fs/isofs/file.c31
-rw-r--r--fs/isofs/inode.c29
4 files changed, 12 insertions, 57 deletions
diff --git a/fs/isofs/Makefile b/fs/isofs/Makefile
index 2b2af2ade..b6cbdc6af 100644
--- a/fs/isofs/Makefile
+++ b/fs/isofs/Makefile
@@ -8,7 +8,7 @@
# Note 2! The CFLAGS definitions are now in the main makefile.
O_TARGET := isofs.o
-O_OBJS := namei.o inode.o file.o dir.o util.o rock.o
+O_OBJS := namei.o inode.o dir.o util.o rock.o
ifdef CONFIG_JOLIET
O_OBJS += joliet.o
diff --git a/fs/isofs/dir.c b/fs/isofs/dir.c
index 35f37a1bf..cbb213668 100644
--- a/fs/isofs/dir.c
+++ b/fs/isofs/dir.c
@@ -26,8 +26,9 @@
static int isofs_readdir(struct file *, void *, filldir_t);
-static struct file_operations isofs_dir_operations =
+struct file_operations isofs_dir_operations =
{
+ read: generic_read_dir,
readdir: isofs_readdir,
};
@@ -36,9 +37,7 @@ static struct file_operations isofs_dir_operations =
*/
struct inode_operations isofs_dir_inode_operations =
{
- &isofs_dir_operations, /* default directory file-ops */
- NULL, /* create */
- isofs_lookup, /* lookup */
+ lookup: isofs_lookup,
};
static int isofs_name_translate(char * old, int len, char * new)
diff --git a/fs/isofs/file.c b/fs/isofs/file.c
deleted file mode 100644
index 9de31e024..000000000
--- a/fs/isofs/file.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * linux/fs/isofs/file.c
- *
- * (C) 1992, 1993, 1994 Eric Youngdale Modified for ISO 9660 filesystem.
- *
- * (C) 1991 Linus Torvalds - minix filesystem
- *
- * isofs regular file handling primitives
- */
-
-#include <linux/sched.h>
-#include <linux/iso_fs.h>
-#include <linux/fcntl.h>
-#include <linux/kernel.h>
-#include <linux/errno.h>
-#include <linux/stat.h>
-#include <linux/locks.h>
-#include <linux/fs.h>
-
-/*
- * We have mostly NULLs here: the current defaults are OK for
- * the isofs filesystem.
- */
-static struct file_operations isofs_file_operations = {
- read: generic_file_read,
- mmap: generic_file_mmap,
-};
-
-struct inode_operations isofs_file_inode_operations = {
- &isofs_file_operations, /* default file operations */
-};
diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c
index 2c67d9e5a..b4a633e9f 100644
--- a/fs/isofs/inode.c
+++ b/fs/isofs/inode.c
@@ -77,15 +77,9 @@ static void isofs_read_inode(struct inode *);
static int isofs_statfs (struct super_block *, struct statfs *, int);
static struct super_operations isofs_sops = {
- isofs_read_inode,
- NULL, /* write_inode */
- NULL, /* put_inode */
- NULL, /* delete_inode */
- NULL, /* notify_change */
- isofs_put_super,
- NULL, /* write_super */
- isofs_statfs,
- NULL
+ read_inode: isofs_read_inode,
+ put_super: isofs_put_super,
+ statfs: isofs_statfs,
};
static struct dentry_operations isofs_dentry_ops[] = {
@@ -1259,7 +1253,6 @@ static void isofs_read_inode(struct inode * inode)
}
/* Install the inode operations vector */
- inode->i_op = NULL;
#ifndef IGNORE_WRONG_MULTI_VOLUME_SPECS
if (inode->i_sb->u.isofs_sb.s_cruft != 'y' &&
(volume_seq_no != 0) && (volume_seq_no != 1)) {
@@ -1268,11 +1261,12 @@ static void isofs_read_inode(struct inode * inode)
#endif IGNORE_WRONG_MULTI_VOLUME_SPECS
{
if (S_ISREG(inode->i_mode)) {
- inode->i_op = &isofs_file_inode_operations;
+ inode->i_fop = &generic_ro_fops;
inode->i_data.a_ops = &isofs_aops;
- } else if (S_ISDIR(inode->i_mode))
+ } else if (S_ISDIR(inode->i_mode)) {
inode->i_op = &isofs_dir_inode_operations;
- else if (S_ISLNK(inode->i_mode)) {
+ inode->i_fop = &isofs_dir_operations;
+ } else if (S_ISLNK(inode->i_mode)) {
inode->i_op = &page_symlink_inode_operations;
inode->i_data.a_ops = &isofs_symlink_aops;
} else
@@ -1283,14 +1277,7 @@ static void isofs_read_inode(struct inode * inode)
fail:
/* With a data error we return this information */
- inode->i_mtime = inode->i_atime = inode->i_ctime = 0;
- inode->u.isofs_i.i_first_extent = 0;
- inode->i_size = 0;
- inode->i_blocks = inode->i_blksize = 0;
- inode->i_nlink = 1;
- inode->i_uid = inode->i_gid = 0;
- inode->i_mode = S_IFREG; /*Regular file, no one gets to read*/
- inode->i_op = NULL;
+ make_bad_inode(inode);
return;
}