patch-2.3.48 linux/fs/hpfs/inode.c
Next file: linux/fs/hpfs/super.c
Previous file: linux/fs/hpfs/hpfs_fn.h
Back to the patch index
Back to the overall index
- Lines: 117
- Date:
Sat Feb 26 20:33:42 2000
- Orig file:
v2.3.47/linux/fs/hpfs/inode.c
- Orig date:
Thu Feb 10 17:11:17 2000
diff -u --recursive --new-file v2.3.47/linux/fs/hpfs/inode.c linux/fs/hpfs/inode.c
@@ -8,7 +8,7 @@
#include "hpfs_fn.h"
-static const struct file_operations hpfs_file_ops =
+static struct file_operations hpfs_file_ops =
{
read: generic_file_read,
write: hpfs_file_write,
@@ -18,45 +18,33 @@
fsync: hpfs_file_fsync,
};
-static const struct inode_operations hpfs_file_iops =
+static struct inode_operations hpfs_file_iops =
{
- (nonconst *) & hpfs_file_ops, /* default 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 */
- hpfs_truncate, /* truncate */
+ truncate: hpfs_truncate,
+ setattr: hpfs_notify_change,
};
-static const struct file_operations hpfs_dir_ops =
+static struct file_operations hpfs_dir_ops =
{
llseek: hpfs_dir_lseek,
- read: hpfs_dir_read,
+ read: generic_read_dir,
readdir: hpfs_readdir,
open: hpfs_open,
release: hpfs_dir_release,
fsync: hpfs_file_fsync,
};
-static const struct inode_operations hpfs_dir_iops =
+static struct inode_operations hpfs_dir_iops =
{
- (nonconst *) & hpfs_dir_ops, /* default directory file ops */
- hpfs_create, /* create */
- hpfs_lookup, /* lookup */
- NULL, /* link */
- hpfs_unlink, /* unlink */
- hpfs_symlink, /* symlink */
- hpfs_mkdir, /* mkdir */
- hpfs_rmdir, /* rmdir */
- hpfs_mknod, /* mknod */
- hpfs_rename, /* rename */
+ create: hpfs_create,
+ lookup: hpfs_lookup,
+ unlink: hpfs_unlink,
+ symlink: hpfs_symlink,
+ mkdir: hpfs_mkdir,
+ rmdir: hpfs_rmdir,
+ mknod: hpfs_mknod,
+ rename: hpfs_rename,
+ setattr: hpfs_notify_change,
};
struct address_space_operations hpfs_symlink_aops = {
@@ -70,7 +58,6 @@
struct super_block *sb = i->i_sb;
unsigned char *ea;
int ea_size;
- i->i_op = 0;
init_MUTEX(&i->i_hpfs_sem);
i->i_uid = sb->s_hpfs_uid;
i->i_gid = sb->s_hpfs_gid;
@@ -104,14 +91,16 @@
if (i->i_sb->s_hpfs_rd_inode == 2) {
i->i_mode |= S_IFREG;
i->i_mode &= ~0111;
- i->i_op = (struct inode_operations *) &hpfs_file_iops;
+ i->i_op = &hpfs_file_iops;
+ i->i_fop = &hpfs_file_ops;
i->i_nlink = 1;
return;
}
if (!(fnode = hpfs_map_fnode(sb, i->i_ino, &bh))) {
/*i->i_mode |= S_IFREG;
i->i_mode &= ~0111;
- i->i_op = (struct inode_operations *) &hpfs_file_iops;
+ i->i_op = &hpfs_file_iops;
+ i->i_fop = &hpfs_file_ops;
i->i_nlink = 0;*/
make_bad_inode(i);
return;
@@ -171,7 +160,8 @@
if (fnode->dirflag) {
unsigned n_dnodes, n_subdirs;
i->i_mode |= S_IFDIR;
- i->i_op = (struct inode_operations *) &hpfs_dir_iops;
+ i->i_op = &hpfs_dir_iops;
+ i->i_fop = &hpfs_dir_ops;
i->i_hpfs_parent_dir = fnode->up;
i->i_hpfs_dno = fnode->u.external[0].disk_secno;
if (sb->s_hpfs_chk >= 2) {
@@ -186,7 +176,8 @@
} else {
i->i_mode |= S_IFREG;
if (!i->i_hpfs_ea_mode) i->i_mode &= ~0111;
- i->i_op = (struct inode_operations *) &hpfs_file_iops;
+ i->i_op = &hpfs_file_iops;
+ i->i_fop = &hpfs_file_ops;
i->i_nlink = 1;
i->i_size = fnode->file_size;
i->i_blocks = ((i->i_size + 511) >> 9) + 1;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)