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 buffer_head *si_sbh;             /* buffer header w/superblock */
  21        struct mutex bfs_lock;
  22};
  23
  24/*
  25 * BFS file system in-core inode info
  26 */
  27struct bfs_inode_info {
  28        unsigned long i_dsk_ino; /* inode number from the disk, can be 0 */
  29        unsigned long i_sblock;
  30        unsigned long i_eblock;
  31        struct inode vfs_inode;
  32};
  33
  34static inline struct bfs_sb_info *BFS_SB(struct super_block *sb)
  35{
  36        return sb->s_fs_info;
  37}
  38
  39static inline struct bfs_inode_info *BFS_I(struct inode *inode)
  40{
  41        return container_of(inode, struct bfs_inode_info, vfs_inode);
  42}
  43
  44
  45#define printf(format, args...) \
  46        printk(KERN_ERR "BFS-fs: %s(): " format, __func__, ## args)
  47
  48/* inode.c */
  49extern struct inode *bfs_iget(struct super_block *sb, unsigned long ino);
  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