diff options
Diffstat (limited to 'fs/ocfs2/inode.h')
-rw-r--r-- | fs/ocfs2/inode.h | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/fs/ocfs2/inode.h b/fs/ocfs2/inode.h index 1a7dd2945b34..03ae075869ee 100644 --- a/fs/ocfs2/inode.h +++ b/fs/ocfs2/inode.h | |||
@@ -26,6 +26,8 @@ | |||
26 | #ifndef OCFS2_INODE_H | 26 | #ifndef OCFS2_INODE_H |
27 | #define OCFS2_INODE_H | 27 | #define OCFS2_INODE_H |
28 | 28 | ||
29 | #include "extent_map.h" | ||
30 | |||
29 | /* OCFS2 Inode Private Data */ | 31 | /* OCFS2 Inode Private Data */ |
30 | struct ocfs2_inode_info | 32 | struct ocfs2_inode_info |
31 | { | 33 | { |
@@ -34,6 +36,7 @@ struct ocfs2_inode_info | |||
34 | struct ocfs2_lock_res ip_rw_lockres; | 36 | struct ocfs2_lock_res ip_rw_lockres; |
35 | struct ocfs2_lock_res ip_meta_lockres; | 37 | struct ocfs2_lock_res ip_meta_lockres; |
36 | struct ocfs2_lock_res ip_data_lockres; | 38 | struct ocfs2_lock_res ip_data_lockres; |
39 | struct ocfs2_lock_res ip_open_lockres; | ||
37 | 40 | ||
38 | /* protects allocation changes on this inode. */ | 41 | /* protects allocation changes on this inode. */ |
39 | struct rw_semaphore ip_alloc_sem; | 42 | struct rw_semaphore ip_alloc_sem; |
@@ -42,9 +45,7 @@ struct ocfs2_inode_info | |||
42 | spinlock_t ip_lock; | 45 | spinlock_t ip_lock; |
43 | u32 ip_open_count; | 46 | u32 ip_open_count; |
44 | u32 ip_clusters; | 47 | u32 ip_clusters; |
45 | struct ocfs2_extent_map ip_map; | ||
46 | struct list_head ip_io_markers; | 48 | struct list_head ip_io_markers; |
47 | int ip_orphaned_slot; | ||
48 | 49 | ||
49 | struct mutex ip_io_mutex; | 50 | struct mutex ip_io_mutex; |
50 | 51 | ||
@@ -64,6 +65,8 @@ struct ocfs2_inode_info | |||
64 | 65 | ||
65 | struct ocfs2_caching_info ip_metadata_cache; | 66 | struct ocfs2_caching_info ip_metadata_cache; |
66 | 67 | ||
68 | struct ocfs2_extent_map ip_extent_map; | ||
69 | |||
67 | struct inode vfs_inode; | 70 | struct inode vfs_inode; |
68 | }; | 71 | }; |
69 | 72 | ||
@@ -117,14 +120,9 @@ void ocfs2_delete_inode(struct inode *inode); | |||
117 | void ocfs2_drop_inode(struct inode *inode); | 120 | void ocfs2_drop_inode(struct inode *inode); |
118 | 121 | ||
119 | /* Flags for ocfs2_iget() */ | 122 | /* Flags for ocfs2_iget() */ |
120 | #define OCFS2_FI_FLAG_NOWAIT 0x1 | 123 | #define OCFS2_FI_FLAG_SYSFILE 0x4 |
121 | #define OCFS2_FI_FLAG_DELETE 0x2 | 124 | #define OCFS2_FI_FLAG_ORPHAN_RECOVERY 0x8 |
122 | #define OCFS2_FI_FLAG_SYSFILE 0x4 | ||
123 | #define OCFS2_FI_FLAG_NOLOCK 0x8 | ||
124 | struct inode *ocfs2_iget(struct ocfs2_super *osb, u64 feoff, int flags); | 125 | struct inode *ocfs2_iget(struct ocfs2_super *osb, u64 feoff, int flags); |
125 | struct inode *ocfs2_ilookup_for_vote(struct ocfs2_super *osb, | ||
126 | u64 blkno, | ||
127 | int delete_vote); | ||
128 | int ocfs2_inode_init_private(struct inode *inode); | 126 | int ocfs2_inode_init_private(struct inode *inode); |
129 | int ocfs2_inode_revalidate(struct dentry *dentry); | 127 | int ocfs2_inode_revalidate(struct dentry *dentry); |
130 | int ocfs2_populate_inode(struct inode *inode, struct ocfs2_dinode *fe, | 128 | int ocfs2_populate_inode(struct inode *inode, struct ocfs2_dinode *fe, |
@@ -144,4 +142,11 @@ int ocfs2_aio_write(struct file *file, struct kiocb *req, struct iocb *iocb); | |||
144 | 142 | ||
145 | void ocfs2_set_inode_flags(struct inode *inode); | 143 | void ocfs2_set_inode_flags(struct inode *inode); |
146 | 144 | ||
145 | static inline blkcnt_t ocfs2_inode_sector_count(struct inode *inode) | ||
146 | { | ||
147 | int c_to_s_bits = OCFS2_SB(inode->i_sb)->s_clustersize_bits - 9; | ||
148 | |||
149 | return (blkcnt_t)(OCFS2_I(inode)->ip_clusters << c_to_s_bits); | ||
150 | } | ||
151 | |||
147 | #endif /* OCFS2_INODE_H */ | 152 | #endif /* OCFS2_INODE_H */ |