aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext2/ext2.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ext2/ext2.h')
-rw-r--r--fs/ext2/ext2.h36
1 files changed, 18 insertions, 18 deletions
diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h
index a08052d2c008..7730388c4931 100644
--- a/fs/ext2/ext2.h
+++ b/fs/ext2/ext2.h
@@ -33,22 +33,9 @@ struct ext2_inode_info {
33 */ 33 */
34 __u32 i_block_group; 34 __u32 i_block_group;
35 35
36 /* 36 /* block reservation info */
37 * i_next_alloc_block is the logical (file-relative) number of the 37 struct ext2_block_alloc_info *i_block_alloc_info;
38 * most-recently-allocated block in this file. Yes, it is misnamed.
39 * We use this for detecting linearly ascending allocation requests.
40 */
41 __u32 i_next_alloc_block;
42 38
43 /*
44 * i_next_alloc_goal is the *physical* companion to i_next_alloc_block.
45 * it the the physical block number of the block which was most-recently
46 * allocated to this file. This give us the goal (target) for the next
47 * allocation when we detect linearly ascending requests.
48 */
49 __u32 i_next_alloc_goal;
50 __u32 i_prealloc_block;
51 __u32 i_prealloc_count;
52 __u32 i_dir_start_lookup; 39 __u32 i_dir_start_lookup;
53#ifdef CONFIG_EXT2_FS_XATTR 40#ifdef CONFIG_EXT2_FS_XATTR
54 /* 41 /*
@@ -65,7 +52,16 @@ struct ext2_inode_info {
65 struct posix_acl *i_default_acl; 52 struct posix_acl *i_default_acl;
66#endif 53#endif
67 rwlock_t i_meta_lock; 54 rwlock_t i_meta_lock;
55
56 /*
57 * truncate_mutex is for serialising ext2_truncate() against
58 * ext2_getblock(). It also protects the internals of the inode's
59 * reservation data structures: ext2_reserve_window and
60 * ext2_reserve_window_node.
61 */
62 struct mutex truncate_mutex;
68 struct inode vfs_inode; 63 struct inode vfs_inode;
64 struct list_head i_orphan; /* unlinked but open inodes */
69}; 65};
70 66
71/* 67/*
@@ -91,8 +87,9 @@ static inline struct ext2_inode_info *EXT2_I(struct inode *inode)
91/* balloc.c */ 87/* balloc.c */
92extern int ext2_bg_has_super(struct super_block *sb, int group); 88extern int ext2_bg_has_super(struct super_block *sb, int group);
93extern unsigned long ext2_bg_num_gdb(struct super_block *sb, int group); 89extern unsigned long ext2_bg_num_gdb(struct super_block *sb, int group);
94extern int ext2_new_block (struct inode *, unsigned long, 90extern ext2_fsblk_t ext2_new_block(struct inode *, unsigned long, int *);
95 __u32 *, __u32 *, int *); 91extern ext2_fsblk_t ext2_new_blocks(struct inode *, unsigned long,
92 unsigned long *, int *);
96extern void ext2_free_blocks (struct inode *, unsigned long, 93extern void ext2_free_blocks (struct inode *, unsigned long,
97 unsigned long); 94 unsigned long);
98extern unsigned long ext2_count_free_blocks (struct super_block *); 95extern unsigned long ext2_count_free_blocks (struct super_block *);
@@ -101,6 +98,10 @@ extern void ext2_check_blocks_bitmap (struct super_block *);
101extern struct ext2_group_desc * ext2_get_group_desc(struct super_block * sb, 98extern struct ext2_group_desc * ext2_get_group_desc(struct super_block * sb,
102 unsigned int block_group, 99 unsigned int block_group,
103 struct buffer_head ** bh); 100 struct buffer_head ** bh);
101extern void ext2_discard_reservation (struct inode *);
102extern int ext2_should_retry_alloc(struct super_block *sb, int *retries);
103extern void ext2_init_block_alloc_info(struct inode *);
104extern void ext2_rsv_window_add(struct super_block *sb, struct ext2_reserve_window_node *rsv);
104 105
105/* dir.c */ 106/* dir.c */
106extern int ext2_add_link (struct dentry *, struct inode *); 107extern int ext2_add_link (struct dentry *, struct inode *);
@@ -128,7 +129,6 @@ extern int ext2_write_inode (struct inode *, int);
128extern void ext2_put_inode (struct inode *); 129extern void ext2_put_inode (struct inode *);
129extern void ext2_delete_inode (struct inode *); 130extern void ext2_delete_inode (struct inode *);
130extern int ext2_sync_inode (struct inode *); 131extern int ext2_sync_inode (struct inode *);
131extern void ext2_discard_prealloc (struct inode *);
132extern int ext2_get_block(struct inode *, sector_t, struct buffer_head *, int); 132extern int ext2_get_block(struct inode *, sector_t, struct buffer_head *, int);
133extern void ext2_truncate (struct inode *); 133extern void ext2_truncate (struct inode *);
134extern int ext2_setattr (struct dentry *, struct iattr *); 134extern int ext2_setattr (struct dentry *, struct iattr *);