diff options
Diffstat (limited to 'fs/omfs/omfs.h')
| -rw-r--r-- | fs/omfs/omfs.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/fs/omfs/omfs.h b/fs/omfs/omfs.h new file mode 100644 index 000000000000..2bc0f0670406 --- /dev/null +++ b/fs/omfs/omfs.h | |||
| @@ -0,0 +1,67 @@ | |||
| 1 | #ifndef _OMFS_H | ||
| 2 | #define _OMFS_H | ||
| 3 | |||
| 4 | #include <linux/module.h> | ||
| 5 | #include <linux/fs.h> | ||
| 6 | |||
| 7 | #include "omfs_fs.h" | ||
| 8 | |||
| 9 | /* In-memory structures */ | ||
| 10 | struct omfs_sb_info { | ||
| 11 | u64 s_num_blocks; | ||
| 12 | u64 s_bitmap_ino; | ||
| 13 | u64 s_root_ino; | ||
| 14 | u32 s_blocksize; | ||
| 15 | u32 s_mirrors; | ||
| 16 | u32 s_sys_blocksize; | ||
| 17 | u32 s_clustersize; | ||
| 18 | int s_block_shift; | ||
| 19 | unsigned long **s_imap; | ||
| 20 | int s_imap_size; | ||
| 21 | struct mutex s_bitmap_lock; | ||
| 22 | int s_uid; | ||
| 23 | int s_gid; | ||
| 24 | int s_dmask; | ||
| 25 | int s_fmask; | ||
| 26 | }; | ||
| 27 | |||
| 28 | /* convert a cluster number to a scaled block number */ | ||
| 29 | static inline sector_t clus_to_blk(struct omfs_sb_info *sbi, sector_t block) | ||
| 30 | { | ||
| 31 | return block << sbi->s_block_shift; | ||
| 32 | } | ||
| 33 | |||
| 34 | static inline struct omfs_sb_info *OMFS_SB(struct super_block *sb) | ||
| 35 | { | ||
| 36 | return sb->s_fs_info; | ||
| 37 | } | ||
| 38 | |||
| 39 | /* bitmap.c */ | ||
| 40 | extern unsigned long omfs_count_free(struct super_block *sb); | ||
| 41 | extern int omfs_allocate_block(struct super_block *sb, u64 block); | ||
| 42 | extern int omfs_allocate_range(struct super_block *sb, int min_request, | ||
| 43 | int max_request, u64 *return_block, int *return_size); | ||
| 44 | extern int omfs_clear_range(struct super_block *sb, u64 block, int count); | ||
| 45 | |||
| 46 | /* dir.c */ | ||
| 47 | extern struct file_operations omfs_dir_operations; | ||
| 48 | extern struct inode_operations omfs_dir_inops; | ||
| 49 | extern int omfs_make_empty(struct inode *inode, struct super_block *sb); | ||
| 50 | extern int omfs_is_bad(struct omfs_sb_info *sbi, struct omfs_header *header, | ||
| 51 | u64 fsblock); | ||
| 52 | |||
| 53 | /* file.c */ | ||
| 54 | extern struct file_operations omfs_file_operations; | ||
| 55 | extern struct inode_operations omfs_file_inops; | ||
| 56 | extern struct address_space_operations omfs_aops; | ||
| 57 | extern void omfs_make_empty_table(struct buffer_head *bh, int offset); | ||
| 58 | extern int omfs_shrink_inode(struct inode *inode); | ||
| 59 | |||
| 60 | /* inode.c */ | ||
| 61 | extern struct inode *omfs_iget(struct super_block *sb, ino_t inode); | ||
| 62 | extern struct inode *omfs_new_inode(struct inode *dir, int mode); | ||
| 63 | extern int omfs_reserve_block(struct super_block *sb, sector_t block); | ||
| 64 | extern int omfs_find_empty_block(struct super_block *sb, int mode, ino_t *ino); | ||
| 65 | extern int omfs_sync_inode(struct inode *inode); | ||
| 66 | |||
| 67 | #endif | ||
