linux/fs/bfs/bfs.h
<<
>>
Prefs
   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_eblk;
  18        unsigned long si_lasti;
  19        unsigned long *si_imap;
  20        struct mutex bfs_lock;
  21};
  22
  23/*
  24 * BFS file system in-core inode info
  25 */
  26struct bfs_inode_info {
  27        unsigned long i_dsk_ino; /* inode number from the disk, can be 0 */
  28        unsigned long i_sblock;
  29        unsigned long i_eblock;
  30        struct inode vfs_inode;
  31};
  32
  33static inline struct bfs_sb_info *BFS_SB(struct super_block *sb)
  34{
  35        return sb->s_fs_info;
  36}
  37
  38static inline struct bfs_inode_info *BFS_I(struct inode *inode)
  39{
  40        return container_of(inode, struct bfs_inode_info, vfs_inode);
  41}
  42
  43
  44#define printf(format, args...) \
  45        printk(KERN_ERR "BFS-fs: %s(): " format, __func__, ## args)
  46
  47/* inode.c */
  48extern struct inode *bfs_iget(struct super_block *sb, unsigned long ino);
  49extern void bfs_dump_imap(const char *, struct super_block *);
  50
  51/* file.c */
  52extern const struct inode_operations bfs_file_inops;
  53extern const struct file_operations bfs_file_operations;
  54extern const struct address_space_operations bfs_aops;
  55
  56/* dir.c */
  57extern const struct inode_operations bfs_dir_inops;
  58extern const struct file_operations bfs_dir_operations;
  59
  60#endif /* _FS_BFS_BFS_H */
  61