1 /* 2 * fs/bfs/bfs.h 3 * Copyright (C) 1999 Tigran Aivazian <tigran@veritas.com> 4 */ 5 #ifndef _FS_BFS_BFS_H 6 #define _FS_BFS_BFS_H 7 8 #include <linux/bfs_fs.h> 9 10 /* 11 * BFS file system in-core superblock info 12 */ 13 struct bfs_sb_info { 14 unsigned long si_blocks; 15 unsigned long si_freeb; 16 unsigned long si_freei; 17 unsigned long si_lf_ioff; 18 unsigned long si_lf_sblk; 19 unsigned long si_lf_eblk; 20 unsigned long si_lasti; 21 unsigned long * si_imap; 22 struct buffer_head * si_sbh; /* buffer header w/superblock */ 23 }; 24 25 /* 26 * BFS file system in-core inode info 27 */ 28 struct bfs_inode_info { 29 unsigned long i_dsk_ino; /* inode number from the disk, can be 0 */ 30 unsigned long i_sblock; 31 unsigned long i_eblock; 32 struct inode vfs_inode; 33 }; 34 35 static inline struct bfs_sb_info *BFS_SB(struct super_block *sb) 36 { 37 return sb->s_fs_info; 38 } 39 40 static inline struct bfs_inode_info *BFS_I(struct inode *inode) 41 { 42 return list_entry(inode, struct bfs_inode_info, vfs_inode); 43 } 44 45 46 #define printf(format, args...) \ 47 printk(KERN_ERR "BFS-fs: %s(): " format, __FUNCTION__, ## args) 48 49 50 /* file.c */ 51 extern struct inode_operations bfs_file_inops; 52 extern struct file_operations bfs_file_operations; 53 extern struct address_space_operations bfs_aops; 54 55 /* dir.c */ 56 extern struct inode_operations bfs_dir_inops; 57 extern struct file_operations bfs_dir_operations; 58 59 #endif /* _FS_BFS_BFS_H */ 60