Skip to content

Commit dfe5080

Browse files
committed
ext4: drop EXT4_EX_NOFREE_ON_ERR from rest of extents handling code
Drop EXT4_EX_NOFREE_ON_ERR from ext4_ext_create_new_leaf(), ext4_split_extent(), ext4_convert_unwritten_extents_endio(). This requires fixing all of their callers to potentially ext4_ext_find_extent() to free the struct ext4_ext_path object in case of an error, and there are interlocking dependencies all the way up to ext4_ext_map_blocks(), ext4_swap_extents(), and ext4_ext_remove_space(). Once this is done, we can drop the EXT4_EX_NOFREE_ON_ERR flag since it is no longer necessary. Signed-off-by: Theodore Ts'o <tytso@mit.edu>
1 parent 4f224b8 commit dfe5080

File tree

3 files changed

+59
-58
lines changed

3 files changed

+59
-58
lines changed

fs/ext4/ext4.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,6 @@ enum {
582582
*/
583583
#define EXT4_EX_NOCACHE 0x0800
584584
#define EXT4_EX_FORCE_CACHE 0x1000
585-
#define EXT4_EX_NOFREE_ON_ERR 0x2000
586585

587586
/*
588587
* Flags used by ext4_free_blocks
@@ -2731,7 +2730,7 @@ extern int ext4_can_extents_be_merged(struct inode *inode,
27312730
struct ext4_extent *ex1,
27322731
struct ext4_extent *ex2);
27332732
extern int ext4_ext_insert_extent(handle_t *, struct inode *,
2734-
struct ext4_ext_path *,
2733+
struct ext4_ext_path **,
27352734
struct ext4_extent *, int);
27362735
extern struct ext4_ext_path *ext4_ext_find_extent(struct inode *, ext4_lblk_t,
27372736
struct ext4_ext_path **,

0 commit comments

Comments
 (0)