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
jffs2
jffs2_fs_i.h
Go to the documentation of this file.
1
/*
2
* JFFS2 -- Journalling Flash File System, Version 2.
3
*
4
* Copyright © 2001-2007 Red Hat, Inc.
5
* Copyright © 2004-2010 David Woodhouse <
[email protected]
>
6
*
7
* Created by David Woodhouse <
[email protected]
>
8
*
9
* For licensing information, see the file 'LICENCE' in this directory.
10
*
11
*/
12
13
#ifndef _JFFS2_FS_I
14
#define _JFFS2_FS_I
15
16
#include <linux/rbtree.h>
17
#include <
linux/posix_acl.h
>
18
#include <
linux/mutex.h
>
19
20
struct
jffs2_inode_info
{
21
/* We need an internal mutex similar to inode->i_mutex.
22
Unfortunately, we can't used the existing one, because
23
either the GC would deadlock, or we'd have to release it
24
before letting GC proceed. Or we'd have to put ugliness
25
into the GC code so it didn't attempt to obtain the i_mutex
26
for the inode(s) which are already locked */
27
struct
mutex
sem
;
28
29
/* The highest (datanode) version number used for this ino */
30
uint32_t
highest_version
;
31
32
/* List of data fragments which make up the file */
33
struct
rb_root
fragtree
;
34
35
/* There may be one datanode which isn't referenced by any of the
36
above fragments, if it contains a metadata update but no actual
37
data - or if this is a directory inode */
38
/* This also holds the _only_ dnode for symlinks/device nodes,
39
etc. */
40
struct
jffs2_full_dnode
*
metadata
;
41
42
/* Directory entries */
43
struct
jffs2_full_dirent
*
dents
;
44
45
/* The target path if this is the inode of a symlink */
46
unsigned
char
*
target
;
47
48
/* Some stuff we just have to keep in-core at all times, for each inode. */
49
struct
jffs2_inode_cache
*
inocache
;
50
51
uint16_t
flags
;
52
uint8_t
usercompr
;
53
struct
inode
vfs_inode
;
54
};
55
56
#endif
/* _JFFS2_FS_I */
Generated on Thu Jan 10 2013 14:47:40 for Linux Kernel by
1.8.2