1 /* object based disk file system
3 * This code is issued under the GNU General Public License.
4 * See the file COPYING in this distribution
6 * Copyright (C), 1999, Stelias Computing Inc
14 #include <linux/obd_class.h>
16 #include <linux/obdo.h>
19 void inofs_read_inode(struct inode *inode);
23 ssize_t inofs_file_write(struct file *file, const char *buf, size_t count, loff_t *ppos);
27 struct page *inofs_getpage(struct inode *inode, unsigned long offset, int create, int locked);
28 int inofs_writepage(struct file *file, struct page *page);
29 int inofs_write_one_page(struct file *file, struct page *page, unsigned long offset, unsigned long bytes, const char * buf);
32 struct dentry *inofs_lookup(struct inode * dir, struct dentry *dentry);
33 int inofs_create (struct inode * dir, struct dentry * dentry, int mode);
34 int inofs_mkdir(struct inode *dir, struct dentry *dentry, int mode);
35 int inofs_rmdir(struct inode *dir, struct dentry *dentry);
36 int inofs_unlink(struct inode *dir, struct dentry *dentry);
37 int inofs_mknod(struct inode *dir, struct dentry *dentry, int mode, int rdev);
38 int inofs_symlink(struct inode *dir, struct dentry *dentry, const char *symname);
39 int inofs_link(struct dentry *old_dentry, struct inode *dir, struct dentry *dentry);
40 int inofs_rename(struct inode *old_dir, struct dentry *old_dentry, struct inode *new_dir, struct dentry *new_dentry);
43 int inofs_readdir(struct file * filp, void * dirent, filldir_t filldir);
45 struct inofs_sb_info {
46 struct list_head osi_list; /* list of supers */
47 struct obd_conn osi_conn;
48 struct super_block *osi_super;
49 struct obd_device *osi_obd;
50 struct obd_ops *osi_ops;
51 struct list_head osi_inodes; /* list of dirty inodes */
52 unsigned long osi_cache_count;
53 struct semaphore osi_list_mutex;
56 void inofs_sysctl_init(void);
57 void inofs_sysctl_clean(void);
59 struct inofs_inode_info;
61 extern struct file_operations inofs_file_ops;
62 extern struct inode_operations inofs_inode_ops;
64 static inline struct obd_ops *iops(struct inode *i)
66 struct inofs_sb_info *sbi = (struct inofs_sb_info *) i->i_sb->u.generic_sbp;
74 #define INOFS_SUPER_MAGIC 0x4711