typedef int ext4_grpblk_t;
/* data type for filesystem-wide blocks number */
-typedef unsigned long ext4_fsblk_t;
-
-#define E3FSBLK "%lu"
+typedef unsigned long long ext4_fsblk_t;
struct ext4_reserve_window {
ext4_fsblk_t _rsv_start; /* First byte reserved */
/*
* Was i_next_alloc_goal in ext4_inode_info
* is the *physical* companion to i_next_alloc_block.
- * it the the physical block number of the block which was most-recentl
+ * it the physical block number of the block which was most-recentl
* allocated to this file. This give us the goal (target) for the next
* allocation when we detect linearly ascending requests.
*/
#define rsv_start rsv_window._rsv_start
#define rsv_end rsv_window._rsv_end
+/*
+ * storage for cached extent
+ */
+struct ext4_ext_cache {
+ ext4_fsblk_t ec_start;
+ __u32 ec_block;
+ __u32 ec_len; /* must be 32bit to return holes */
+ __u32 ec_type;
+};
+
/*
* third extended file system inode data in memory
*/
*/
struct mutex truncate_mutex;
struct inode vfs_inode;
+
+ unsigned long i_ext_generation;
+ struct ext4_ext_cache i_cached_extent;
};
#endif /* _LINUX_EXT4_FS_I */