aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/move_extent.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2014-09-01 14:39:09 -0400
committerTheodore Ts'o <tytso@mit.edu>2014-09-01 14:39:09 -0400
commitb7ea89ad0a6b855172158a999d3f5008403f4011 (patch)
treef5e4df616627e426bdebef94042c286fbdff0360 /fs/ext4/move_extent.c
parent523f431ccfffd3022e80e13befb9594f54b5607e (diff)
ext4: allow a NULL argument to ext4_ext_drop_refs()
Teach ext4_ext_drop_refs() to accept a NULL argument, much like kfree(). This allows us to drop a lot of checks to make sure path is non-NULL before calling ext4_ext_drop_refs(). Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/move_extent.c')
-rw-r--r--fs/ext4/move_extent.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c
index 5e2465a8e4ce..a34c0760276c 100644
--- a/fs/ext4/move_extent.c
+++ b/fs/ext4/move_extent.c
@@ -113,10 +113,8 @@ mext_check_coverage(struct inode *inode, ext4_lblk_t from, ext4_lblk_t count,
113 } 113 }
114 ret = 1; 114 ret = 1;
115out: 115out:
116 if (path) { 116 ext4_ext_drop_refs(path);
117 ext4_ext_drop_refs(path); 117 kfree(path);
118 kfree(path);
119 }
120 return ret; 118 return ret;
121} 119}
122 120
@@ -711,11 +709,9 @@ ext4_move_extents(struct file *o_filp, struct file *d_filp, __u64 orig_blk,
711 o_start += cur_len; 709 o_start += cur_len;
712 d_start += cur_len; 710 d_start += cur_len;
713 repeat: 711 repeat:
714 if (path) { 712 ext4_ext_drop_refs(path);
715 ext4_ext_drop_refs(path); 713 kfree(path);
716 kfree(path); 714 path = NULL;
717 path = NULL;
718 }
719 } 715 }
720 *moved_len = o_start - orig_blk; 716 *moved_len = o_start - orig_blk;
721 if (*moved_len > len) 717 if (*moved_len > len)
@@ -727,10 +723,8 @@ out:
727 ext4_discard_preallocations(donor_inode); 723 ext4_discard_preallocations(donor_inode);
728 } 724 }
729 725
730 if (path) { 726 ext4_ext_drop_refs(path);
731 ext4_ext_drop_refs(path); 727 kfree(path);
732 kfree(path);
733 }
734 ext4_double_up_write_data_sem(orig_inode, donor_inode); 728 ext4_double_up_write_data_sem(orig_inode, donor_inode);
735 ext4_inode_resume_unlocked_dio(orig_inode); 729 ext4_inode_resume_unlocked_dio(orig_inode);
736 ext4_inode_resume_unlocked_dio(donor_inode); 730 ext4_inode_resume_unlocked_dio(donor_inode);