]> bbs.cooldavid.org Git - net-next-2.6.git/blame - fs/jffs2/jffs2_fs_i.h
xps: Transmit Packet Steering
[net-next-2.6.git] / fs / jffs2 / jffs2_fs_i.h
CommitLineData
c00c310e
DW
1/*
2 * JFFS2 -- Journalling Flash File System, Version 2.
3 *
4 * Copyright © 2001-2007 Red Hat, Inc.
6088c058 5 * Copyright © 2004-2010 David Woodhouse <dwmw2@infradead.org>
c00c310e
DW
6 *
7 * Created by David Woodhouse <dwmw2@infradead.org>
8 *
9 * For licensing information, see the file 'LICENCE' in this directory.
10 *
11 */
1da177e4
LT
12
13#ifndef _JFFS2_FS_I
14#define _JFFS2_FS_I
15
1da177e4 16#include <linux/rbtree.h>
aa98d7cf 17#include <linux/posix_acl.h>
cf9d1e42 18#include <linux/mutex.h>
1da177e4
LT
19
20struct jffs2_inode_info {
1b1dcc1b 21 /* We need an internal mutex similar to inode->i_mutex.
1da177e4
LT
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
1b1dcc1b 25 into the GC code so it didn't attempt to obtain the i_mutex
1da177e4 26 for the inode(s) which are already locked */
ced22070 27 struct mutex sem;
1da177e4
LT
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 */
182ec4ee 38 /* This also holds the _only_ dnode for symlinks/device nodes,
1da177e4
LT
39 etc. */
40 struct jffs2_full_dnode *metadata;
41
42 /* Directory entries */
43 struct jffs2_full_dirent *dents;
44
2b79adcc
AB
45 /* The target path if this is the inode of a symlink */
46 unsigned char *target;
47
1da177e4
LT
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;
1da177e4 53 struct inode vfs_inode;
1da177e4
LT
54};
55
56#endif /* _JFFS2_FS_I */