.read = fat_file_read,
.write = fat_file_write,
.close = fat_close_impl,
+};
+
+static const struct inode_operations fat_file_iops = {
.truncate = fat_truncate_impl,
};
static const struct file_operations fat_dir_fops = {
.close = fat_close_impl,
- .finddir = fat_finddir,
+};
+
+static const struct inode_operations fat_dir_iops = {
+ .lookup = fat_finddir,
.readdir = fat_readdir_impl,
.create = fat_create_impl,
.mkdir = fat_mkdir_impl,
fn->vfs.length = 0;
fn->vfs.inode = fn->first_cluster;
fn->vfs.f_ops = &fat_dir_fops;
+ fn->vfs.i_ops = &fat_dir_iops;
} else {
fn->vfs.flags = FS_FILE;
fn->vfs.length = de->file_size;
fn->vfs.inode = fn->first_cluster;
fn->vfs.f_ops = &fat_file_fops;
+ fn->vfs.i_ops = &fat_file_iops;
}
return fn;
g_fat_root.parent_cluster = 0;
g_fat_root.dir_entry_offset = 0;
g_fat_root.vfs.f_ops = &fat_dir_fops;
+ g_fat_root.vfs.i_ops = &fat_dir_iops;
g_fat_ready = 1;
.poll = pty_master_poll_fn,
};
-static const struct file_operations pty_pts_dir_fops = {
- .finddir = pty_pts_finddir,
+static const struct file_operations pty_pts_dir_fops = {0};
+
+static const struct inode_operations pty_pts_dir_iops = {
+ .lookup = pty_pts_finddir,
.readdir = pty_pts_readdir,
};
g_dev_pts_dir_node.flags = FS_DIRECTORY;
g_dev_pts_dir_node.inode = 5;
g_dev_pts_dir_node.f_ops = &pty_pts_dir_fops;
+ g_dev_pts_dir_node.i_ops = &pty_pts_dir_iops;
devfs_register_device(&g_dev_pts_dir_node);
}