Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
fs
omfs
omfs.h
Go to the documentation of this file.
1
#ifndef _OMFS_H
2
#define _OMFS_H
3
4
#include <linux/module.h>
5
#include <linux/fs.h>
6
7
#include "
omfs_fs.h
"
8
9
/* In-memory structures */
10
struct
omfs_sb_info
{
11
u64
s_num_blocks
;
12
u64
s_bitmap_ino
;
13
u64
s_root_ino
;
14
u32
s_blocksize
;
15
u32
s_mirrors
;
16
u32
s_sys_blocksize
;
17
u32
s_clustersize
;
18
int
s_block_shift
;
19
unsigned
long
**
s_imap
;
20
int
s_imap_size
;
21
struct
mutex
s_bitmap_lock
;
22
kuid_t
s_uid
;
23
kgid_t
s_gid
;
24
int
s_dmask
;
25
int
s_fmask
;
26
};
27
28
/* convert a cluster number to a scaled block number */
29
static
inline
sector_t
clus_to_blk(
struct
omfs_sb_info
*sbi,
sector_t
block
)
30
{
31
return
block << sbi->
s_block_shift
;
32
}
33
34
static
inline
struct
omfs_sb_info
*OMFS_SB(
struct
super_block
*
sb
)
35
{
36
return
sb->
s_fs_info
;
37
}
38
39
/* bitmap.c */
40
extern
unsigned
long
omfs_count_free
(
struct
super_block
*
sb
);
41
extern
int
omfs_allocate_block
(
struct
super_block
*
sb
,
u64
block
);
42
extern
int
omfs_allocate_range
(
struct
super_block
*
sb
,
int
min_request,
43
int
max_request,
u64
*return_block,
int
*return_size);
44
extern
int
omfs_clear_range
(
struct
super_block
*
sb
,
u64
block
,
int
count
);
45
46
/* dir.c */
47
extern
const
struct
file_operations
omfs_dir_operations
;
48
extern
const
struct
inode_operations
omfs_dir_inops
;
49
extern
int
omfs_make_empty
(
struct
inode
*
inode
,
struct
super_block
*
sb
);
50
extern
int
omfs_is_bad
(
struct
omfs_sb_info
*sbi,
struct
omfs_header
*
header
,
51
u64
fsblock);
52
53
/* file.c */
54
extern
const
struct
file_operations
omfs_file_operations
;
55
extern
const
struct
inode_operations
omfs_file_inops
;
56
extern
const
struct
address_space_operations
omfs_aops
;
57
extern
void
omfs_make_empty_table
(
struct
buffer_head *bh,
int
offset
);
58
extern
int
omfs_shrink_inode
(
struct
inode
*
inode
);
59
60
/* inode.c */
61
extern
struct
buffer_head *
omfs_bread
(
struct
super_block
*
sb
,
sector_t
block
);
62
extern
struct
inode
*
omfs_iget
(
struct
super_block
*
sb
,
ino_t
inode
);
63
extern
struct
inode
*
omfs_new_inode
(
struct
inode
*dir,
umode_t
mode
);
64
extern
int
omfs_reserve_block
(
struct
super_block
*
sb
,
sector_t
block
);
65
extern
int
omfs_find_empty_block
(
struct
super_block
*
sb
,
int
mode
,
ino_t
*
ino
);
66
extern
int
omfs_sync_inode
(
struct
inode
*
inode
);
67
68
#endif
Generated on Thu Jan 10 2013 14:49:38 for Linux Kernel by
1.8.2