2005-04-17 02:20:36 +04:00
/*
* fs / bfs / bfs . h
* Copyright ( C ) 1999 Tigran Aivazian < tigran @ veritas . com >
*/
# ifndef _FS_BFS_BFS_H
# define _FS_BFS_BFS_H
# include <linux/bfs_fs.h>
/*
* BFS file system in - core superblock info
*/
struct bfs_sb_info {
unsigned long si_blocks ;
unsigned long si_freeb ;
unsigned long si_freei ;
unsigned long si_lf_eblk ;
unsigned long si_lasti ;
2008-07-26 06:44:52 +04:00
unsigned long * si_imap ;
2008-07-26 06:44:54 +04:00
struct mutex bfs_lock ;
2005-04-17 02:20:36 +04:00
} ;
/*
* BFS file system in - core inode info
*/
struct bfs_inode_info {
unsigned long i_dsk_ino ; /* inode number from the disk, can be 0 */
unsigned long i_sblock ;
unsigned long i_eblock ;
struct inode vfs_inode ;
} ;
static inline struct bfs_sb_info * BFS_SB ( struct super_block * sb )
{
return sb - > s_fs_info ;
}
static inline struct bfs_inode_info * BFS_I ( struct inode * inode )
{
2007-11-15 03:59:47 +03:00
return container_of ( inode , struct bfs_inode_info , vfs_inode ) ;
2005-04-17 02:20:36 +04:00
}
# define printf(format, args...) \
2008-04-30 11:55:09 +04:00
printk ( KERN_ERR " BFS-fs: %s(): " format , __func__ , # # args )
2005-04-17 02:20:36 +04:00
2008-02-07 11:15:32 +03:00
/* inode.c */
extern struct inode * bfs_iget ( struct super_block * sb , unsigned long ino ) ;
2005-04-17 02:20:36 +04:00
/* file.c */
2007-02-12 11:55:38 +03:00
extern const struct inode_operations bfs_file_inops ;
2006-03-28 13:56:42 +04:00
extern const struct file_operations bfs_file_operations ;
2006-06-28 15:26:44 +04:00
extern const struct address_space_operations bfs_aops ;
2005-04-17 02:20:36 +04:00
/* dir.c */
2007-02-12 11:55:38 +03:00
extern const struct inode_operations bfs_dir_inops ;
2006-03-28 13:56:42 +04:00
extern const struct file_operations bfs_dir_operations ;
2005-04-17 02:20:36 +04:00
# endif /* _FS_BFS_BFS_H */