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 */ 13struct 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 */ 28struct 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 35static inline struct bfs_sb_info *BFS_SB(struct super_block *sb) 36{ 37 return sb->s_fs_info; 38} 39 40static 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 */ 51extern const struct inode_operations bfs_file_inops; 52extern const struct file_operations bfs_file_operations; 53extern const struct address_space_operations bfs_aops; 54 55/* dir.c */ 56extern const struct inode_operations bfs_dir_inops; 57extern const struct file_operations bfs_dir_operations; 58 59#endif /* _FS_BFS_BFS_H */ 60