diff options
Diffstat (limited to 'fs/ext4/ext4.h')
-rw-r--r-- | fs/ext4/ext4.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index c74b1948feb0..635135e6148e 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h | |||
@@ -561,15 +561,16 @@ enum { | |||
561 | #define EXT4_GET_BLOCKS_NO_PUT_HOLE 0x0200 | 561 | #define EXT4_GET_BLOCKS_NO_PUT_HOLE 0x0200 |
562 | 562 | ||
563 | /* | 563 | /* |
564 | * The bit position of this flag must not overlap with any of the | 564 | * The bit position of these flags must not overlap with any of the |
565 | * EXT4_GET_BLOCKS_*. It is used by ext4_ext_find_extent(), | 565 | * EXT4_GET_BLOCKS_*. They are used by ext4_ext_find_extent(), |
566 | * read_extent_tree_block(), ext4_split_extent_at(), | 566 | * read_extent_tree_block(), ext4_split_extent_at(), |
567 | * ext4_ext_insert_extent(), and ext4_ext_create_new_leaf() to | 567 | * ext4_ext_insert_extent(), and ext4_ext_create_new_leaf(). |
568 | * indicate that the we shouldn't be caching the extents when reading | 568 | * EXT4_EX_NOCACHE is used to indicate that the we shouldn't be |
569 | * from the extent tree while a truncate or punch hole operation | 569 | * caching the extents when reading from the extent tree while a |
570 | * is in progress. | 570 | * truncate or punch hole operation is in progress. |
571 | */ | 571 | */ |
572 | #define EXT4_EX_NOCACHE 0x0400 | 572 | #define EXT4_EX_NOCACHE 0x0400 |
573 | #define EXT4_EX_FORCE_CACHE 0x0800 | ||
573 | 574 | ||
574 | /* | 575 | /* |
575 | * Flags used by ext4_free_blocks | 576 | * Flags used by ext4_free_blocks |
@@ -601,6 +602,7 @@ enum { | |||
601 | #define EXT4_IOC_MOVE_EXT _IOWR('f', 15, struct move_extent) | 602 | #define EXT4_IOC_MOVE_EXT _IOWR('f', 15, struct move_extent) |
602 | #define EXT4_IOC_RESIZE_FS _IOW('f', 16, __u64) | 603 | #define EXT4_IOC_RESIZE_FS _IOW('f', 16, __u64) |
603 | #define EXT4_IOC_SWAP_BOOT _IO('f', 17) | 604 | #define EXT4_IOC_SWAP_BOOT _IO('f', 17) |
605 | #define EXT4_IOC_PRECACHE_EXTENTS _IO('f', 18) | ||
604 | 606 | ||
605 | #if defined(__KERNEL__) && defined(CONFIG_COMPAT) | 607 | #if defined(__KERNEL__) && defined(CONFIG_COMPAT) |
606 | /* | 608 | /* |
@@ -1386,6 +1388,7 @@ enum { | |||
1386 | nolocking */ | 1388 | nolocking */ |
1387 | EXT4_STATE_MAY_INLINE_DATA, /* may have in-inode data */ | 1389 | EXT4_STATE_MAY_INLINE_DATA, /* may have in-inode data */ |
1388 | EXT4_STATE_ORDERED_MODE, /* data=ordered mode */ | 1390 | EXT4_STATE_ORDERED_MODE, /* data=ordered mode */ |
1391 | EXT4_STATE_EXT_PRECACHED, /* extents have been precached */ | ||
1389 | }; | 1392 | }; |
1390 | 1393 | ||
1391 | #define EXT4_INODE_BIT_FNS(name, field, offset) \ | 1394 | #define EXT4_INODE_BIT_FNS(name, field, offset) \ |
@@ -2705,7 +2708,7 @@ extern int ext4_find_delalloc_range(struct inode *inode, | |||
2705 | extern int ext4_find_delalloc_cluster(struct inode *inode, ext4_lblk_t lblk); | 2708 | extern int ext4_find_delalloc_cluster(struct inode *inode, ext4_lblk_t lblk); |
2706 | extern int ext4_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, | 2709 | extern int ext4_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, |
2707 | __u64 start, __u64 len); | 2710 | __u64 start, __u64 len); |
2708 | 2711 | extern int ext4_ext_precache(struct inode *inode); | |
2709 | 2712 | ||
2710 | /* move_extent.c */ | 2713 | /* move_extent.c */ |
2711 | extern void ext4_double_down_write_data_sem(struct inode *first, | 2714 | extern void ext4_double_down_write_data_sem(struct inode *first, |