Skip to content

Commit

Permalink
ext4: drop EXT4_EX_NOFREE_ON_ERR from rest of extents handling code
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
tytso committed Sep 1, 2014
1 parent 4f224b8 commit dfe5080
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 58 deletions.
3 changes: 1 addition & 2 deletions fs/ext4/ext4.h
Original file line number Diff line number Diff line change
Expand Up @@ -582,7 +582,6 @@ enum {
*/
#define EXT4_EX_NOCACHE 0x0800
#define EXT4_EX_FORCE_CACHE 0x1000
#define EXT4_EX_NOFREE_ON_ERR 0x2000

/*
* Flags used by ext4_free_blocks
Expand Down Expand Up @@ -2731,7 +2730,7 @@ extern int ext4_can_extents_be_merged(struct inode *inode,
struct ext4_extent *ex1,
struct ext4_extent *ex2);
extern int ext4_ext_insert_extent(handle_t *, struct inode *,
struct ext4_ext_path *,
struct ext4_ext_path **,
struct ext4_extent *, int);
extern struct ext4_ext_path *ext4_ext_find_extent(struct inode *, ext4_lblk_t,
struct ext4_ext_path **,
Expand Down
Loading

0 comments on commit dfe5080

Please sign in to comment.