754661f143
Many struct inode_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
59 lines
1.3 KiB
C
59 lines
1.3 KiB
C
/*
|
|
* 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_ioff;
|
|
unsigned long si_lf_sblk;
|
|
unsigned long si_lf_eblk;
|
|
unsigned long si_lasti;
|
|
unsigned long * si_imap;
|
|
struct buffer_head * si_sbh; /* buffer header w/superblock */
|
|
};
|
|
|
|
/*
|
|
* 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)
|
|
{
|
|
return list_entry(inode, struct bfs_inode_info, vfs_inode);
|
|
}
|
|
|
|
|
|
#define printf(format, args...) \
|
|
printk(KERN_ERR "BFS-fs: %s(): " format, __FUNCTION__, ## args)
|
|
|
|
|
|
/* file.c */
|
|
extern const struct inode_operations bfs_file_inops;
|
|
extern const struct file_operations bfs_file_operations;
|
|
extern const struct address_space_operations bfs_aops;
|
|
|
|
/* dir.c */
|
|
extern const struct inode_operations bfs_dir_inops;
|
|
extern const struct file_operations bfs_dir_operations;
|
|
|
|
#endif /* _FS_BFS_BFS_H */
|