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
udf
udf_i.h
Go to the documentation of this file.
1
#ifndef _UDF_I_H
2
#define _UDF_I_H
3
4
/*
5
* The i_data_sem and i_mutex serve for protection of allocation information
6
* of a regular files and symlinks. This includes all extents belonging to
7
* the file/symlink, a fact whether data are in-inode or in external data
8
* blocks, preallocation, goal block information... When extents are read,
9
* i_mutex or i_data_sem must be held (for reading is enough in case of
10
* i_data_sem). When extents are changed, i_data_sem must be held for writing
11
* and also i_mutex must be held.
12
*
13
* For directories i_mutex is used for all the necessary protection.
14
*/
15
16
struct
udf_inode_info
{
17
struct
timespec
i_crtime
;
18
/* Physical address of inode */
19
struct
kernel_lb_addr
i_location
;
20
__u64
i_unique
;
21
__u32
i_lenEAttr
;
22
__u32
i_lenAlloc
;
23
__u64
i_lenExtents
;
24
__u32
i_next_alloc_block
;
25
__u32
i_next_alloc_goal
;
26
__u32
i_checkpoint
;
27
unsigned
i_alloc_type
: 3;
28
unsigned
i_efe
: 1;
/* extendedFileEntry */
29
unsigned
i_use
: 1;
/* unallocSpaceEntry */
30
unsigned
i_strat4096
: 1;
31
unsigned
reserved
: 26;
32
union
{
33
struct
short_ad
*
i_sad
;
34
struct
long_ad
*
i_lad
;
35
__u8
*
i_data
;
36
}
i_ext
;
37
struct
rw_semaphore
i_data_sem
;
38
struct
inode
vfs_inode
;
39
};
40
41
static
inline
struct
udf_inode_info
*UDF_I(
struct
inode
*
inode
)
42
{
43
return
list_entry
(inode,
struct
udf_inode_info
,
vfs_inode
);
44
}
45
46
#endif
/* _UDF_I_H) */
Generated on Thu Jan 10 2013 14:50:11 for Linux Kernel by
1.8.2