Whamcloud - gitweb
New files:
[fs/lustre-release.git] / lustre / include / linux / obd_sim.h
1 #ifndef _OBD_SIM
2 #define _OBD_SIM
3
4 struct sim_obd {
5         struct super_block * sim_sb;
6 };
7
8
9 /* development definitions */
10 extern struct obdfs_sb_info *obd_sbi;
11 extern struct file_operations *obd_fso;
12
13 /* obd_sim.c */
14 extern struct obd_ops sim_obd_ops;
15 inline long ext2_block_map (struct inode * inode, long block);
16
17 /* balloc.c */
18 int ext2_new_block (const struct inode * inode, unsigned long goal,
19                    u32 * prealloc_count, u32 * prealloc_block, int * err);
20 void ext2_free_blocks (const struct inode * inode, unsigned long block,
21                       unsigned long count);
22 unsigned long ext2_count_free_blocks (struct super_block * sb);
23 int ext2_group_sparse(int group);
24 struct ext2_group_desc * ext2_get_group_desc(struct super_block * sb,
25                                              unsigned int block_group,
26                                              struct buffer_head ** bh);
27
28 /* bitmap.c */
29 unsigned long ext2_count_free(struct buffer_head * map, unsigned int numchars);
30
31 /* fsync.c */
32 extern int obd_sync_file(struct file * file, struct dentry *dentry);
33
34 /* ialloc.c */
35 extern void ext2_free_inode (struct inode * inode);
36 extern struct inode * ext2_new_inode (const struct inode * dir, int mode,
37                                      int * err);
38 extern unsigned long ext2_count_free_inodes (struct super_block * sb);
39 extern void ext2_check_inodes_bitmap (struct super_block * sb);
40 extern int load_inode_bitmap (struct super_block * sb,
41                               unsigned int block_group);
42
43 /* inode.c */
44 void obd_read_inode (struct inode * inode);
45 void obd_write_inode (struct inode * inode);
46 void obd_put_inode (struct inode * inode);
47 void obd_delete_inode (struct inode * inode);
48 void obd_discard_prealloc_blocks (struct inode * inode);
49 int obd_sync_inode (struct inode *inode);
50 struct buffer_head * obd_bread (struct inode * inode, int block, 
51                                 int create, int *err);
52 struct buffer_head * obd_getblk (struct inode * inode, long block,
53                                  int create, int * err);
54
55
56 /* super.c */
57 #define ext2_warning obd_warning
58 #undef ext2_error
59 #define ext2_error obd_warning
60 #define ext2_panic obd_warning
61 #ifdef EXT2FS_DEBUG
62 #  undef ext2_debug
63 #  define ext2_debug(format, a...) CDEBUG(D_EXT2, format, ## a)
64 #endif
65
66 #define obd_error obd_warning
67 #define obd_panic obd_warning
68 #define obd_warning(sb, func, format, a...) CDEBUG(D_WARNING, format, ## a)
69
70 int obd_remount (struct super_block * sb, int * flags, char * data);
71 struct super_block * ext2_read_super (struct super_block * sb, void * data,
72                                       int silent);
73
74 /* truncate.c */
75 void obd_truncate (struct inode * inode);
76
77 /* operations */
78 /* dir.c */
79 extern struct inode_operations ext2_dir_inode_operations;
80
81 /* file.c */
82 extern struct file_operations ext2_file_operations;
83 extern struct inode_operations ext2_file_inode_operations;
84
85 /* super.c */
86 extern struct super_operations ext2_sops;
87
88 #endif