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
15 #include <linux/ext2_fs.h>
17 #include <linux/lustre_net.h>
18 #include <linux/lustre_mds.h>
19 #include <linux/obdo.h>
21 extern kmem_cache_t *ll_file_data_slab;
26 #define LL_INLINESZ 60
27 struct ll_inode_info {
30 char lli_inline[LL_INLINESZ];
33 #define LL_SUPER_MAGIC 0x0BD00BD0;
35 struct list_head ll_list; /* list of supers */
36 struct obd_conn ll_conn;
37 struct super_block *ll_super;
38 ino_t ll_rootino; /* number of root inode */
39 int ll_minor; /* minor of /dev/obdX */
40 struct list_head ll_inodes; /* list of dirty inodes */
41 unsigned long ll_cache_count;
42 struct semaphore ll_list_mutex;
43 struct ptlrpc_client ll_mds_client;
44 struct ptlrpc_client ll_ost_client;
48 static inline struct ll_sb_info *ll_i2sbi(struct inode *inode)
50 return (struct ll_sb_info *) (inode->i_sb->u.generic_sbp);
53 static inline struct ll_inode_info *ll_i2info(struct inode *inode)
55 return (struct ll_inode_info *)&(inode->u.generic_ip);
58 static inline int ll_has_inline(struct inode *inode)
60 return (ll_i2info(inode)->lli_flags & OBD_FL_INLINEDATA);
64 static inline struct obd_conn *ll_i2obdconn(struct inode *inode)
66 return &(ll_i2sbi(inode))->ll_conn;
70 extern struct file_operations ll_dir_operations;
71 extern struct inode_operations ll_dir_inode_operations;
74 extern struct file_operations ll_file_operations;
75 extern struct inode_operations ll_file_inode_operations;
78 struct page *ll_getpage(struct inode *inode, unsigned long offset,
79 int create, int locked);
80 void ll_truncate(struct inode *inode);
83 extern struct inode_operations ll_fast_symlink_inode_operations;
84 extern struct inode_operations ll_symlink_inode_operations;
87 void ll_sysctl_init(void);
88 void ll_sysctl_clean(void);
92 static inline struct list_head *ll_slist(struct inode *inode)
94 struct ll_sb_info *sbi = ll_i2sbi(inode);
96 return &sbi->ll_inodes;