]> Pileus Git - ~andy/linux/blobdiff - include/linux/ext4_fs_i.h
Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
[~andy/linux] / include / linux / ext4_fs_i.h
index 18a6ce98537f5d033ac1a2abb6c2937ac0ca9148..bb42379cb7fdf91dde212e257df8d63ed06426f2 100644 (file)
@@ -25,9 +25,7 @@
 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 */
@@ -64,6 +62,16 @@ struct ext4_block_alloc_info {
 #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
  */
@@ -142,6 +150,9 @@ struct ext4_inode_info {
         */
        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 */