From b5c590ee8be290c07fd9ec484ec085ad7cb6c68f Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Wed, 24 May 2017 18:20:49 -0400 Subject: [PATCH] add patch remove-unused-d_name-argument-from-ext4_search_dir --- remove-unused-d_name-argument-from-ext4_search_dir | 140 +++++++++++++++++++++ series | 1 + timestamps | 9 +- 3 files changed, 146 insertions(+), 4 deletions(-) create mode 100644 remove-unused-d_name-argument-from-ext4_search_dir diff --git a/remove-unused-d_name-argument-from-ext4_search_dir b/remove-unused-d_name-argument-from-ext4_search_dir new file mode 100644 index 00000000..1f617cbd --- /dev/null +++ b/remove-unused-d_name-argument-from-ext4_search_dir @@ -0,0 +1,140 @@ +ext4: remove unused d_name argument from ext4_search_dir() et al. + +From: Eric Biggers + +Now that we are passing a struct ext4_filename, we do not need to pass +around the original struct qstr too. + +Signed-off-by: Eric Biggers +Signed-off-by: Theodore Ts'o +Reviewed-by: Jan Kara +--- + fs/ext4/ext4.h | 2 -- + fs/ext4/inline.c | 5 ++--- + fs/ext4/namei.c | 13 +++++-------- + 3 files changed, 7 insertions(+), 13 deletions(-) + +diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h +index 8e8046104f4d..32191548abed 100644 +--- a/fs/ext4/ext4.h ++++ b/fs/ext4/ext4.h +@@ -2523,7 +2523,6 @@ extern int ext4_search_dir(struct buffer_head *bh, + int buf_size, + struct inode *dir, + struct ext4_filename *fname, +- const struct qstr *d_name, + unsigned int offset, + struct ext4_dir_entry_2 **res_dir); + extern int ext4_generic_delete_entry(handle_t *handle, +@@ -3007,7 +3006,6 @@ extern int htree_inlinedir_to_tree(struct file *dir_file, + int *has_inline_data); + extern struct buffer_head *ext4_find_inline_entry(struct inode *dir, + struct ext4_filename *fname, +- const struct qstr *d_name, + struct ext4_dir_entry_2 **res_dir, + int *has_inline_data); + extern int ext4_delete_inline_entry(handle_t *handle, +diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c +index d5dea4c293ef..8d141c0c8ff9 100644 +--- a/fs/ext4/inline.c ++++ b/fs/ext4/inline.c +@@ -1627,7 +1627,6 @@ int ext4_try_create_inline_dir(handle_t *handle, struct inode *parent, + + struct buffer_head *ext4_find_inline_entry(struct inode *dir, + struct ext4_filename *fname, +- const struct qstr *d_name, + struct ext4_dir_entry_2 **res_dir, + int *has_inline_data) + { +@@ -1649,7 +1648,7 @@ struct buffer_head *ext4_find_inline_entry(struct inode *dir, + EXT4_INLINE_DOTDOT_SIZE; + inline_size = EXT4_MIN_INLINE_DATA_SIZE - EXT4_INLINE_DOTDOT_SIZE; + ret = ext4_search_dir(iloc.bh, inline_start, inline_size, +- dir, fname, d_name, 0, res_dir); ++ dir, fname, 0, res_dir); + if (ret == 1) + goto out_find; + if (ret < 0) +@@ -1662,7 +1661,7 @@ struct buffer_head *ext4_find_inline_entry(struct inode *dir, + inline_size = ext4_get_inline_size(dir) - EXT4_MIN_INLINE_DATA_SIZE; + + ret = ext4_search_dir(iloc.bh, inline_start, inline_size, +- dir, fname, d_name, 0, res_dir); ++ dir, fname, 0, res_dir); + if (ret == 1) + goto out_find; + +diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c +index b81f7d46f344..404256caf9cf 100644 +--- a/fs/ext4/namei.c ++++ b/fs/ext4/namei.c +@@ -1155,12 +1155,11 @@ int ext4_htree_fill_tree(struct file *dir_file, __u32 start_hash, + static inline int search_dirblock(struct buffer_head *bh, + struct inode *dir, + struct ext4_filename *fname, +- const struct qstr *d_name, + unsigned int offset, + struct ext4_dir_entry_2 **res_dir) + { + return ext4_search_dir(bh, bh->b_data, dir->i_sb->s_blocksize, dir, +- fname, d_name, offset, res_dir); ++ fname, offset, res_dir); + } + + /* +@@ -1262,7 +1261,6 @@ static inline bool ext4_match(const struct ext4_filename *fname, + */ + int ext4_search_dir(struct buffer_head *bh, char *search_buf, int buf_size, + struct inode *dir, struct ext4_filename *fname, +- const struct qstr *d_name, + unsigned int offset, struct ext4_dir_entry_2 **res_dir) + { + struct ext4_dir_entry_2 * de; +@@ -1355,7 +1353,7 @@ static struct buffer_head * ext4_find_entry (struct inode *dir, + + if (ext4_has_inline_data(dir)) { + int has_inline_data = 1; +- ret = ext4_find_inline_entry(dir, &fname, d_name, res_dir, ++ ret = ext4_find_inline_entry(dir, &fname, res_dir, + &has_inline_data); + if (has_inline_data) { + if (inlined) +@@ -1447,7 +1445,7 @@ static struct buffer_head * ext4_find_entry (struct inode *dir, + goto next; + } + set_buffer_verified(bh); +- i = search_dirblock(bh, dir, &fname, d_name, ++ i = search_dirblock(bh, dir, &fname, + block << EXT4_BLOCK_SIZE_BITS(sb), res_dir); + if (i == 1) { + EXT4_I(dir)->i_dir_start_lookup = block; +@@ -1488,7 +1486,6 @@ static struct buffer_head * ext4_dx_find_entry(struct inode *dir, + { + struct super_block * sb = dir->i_sb; + struct dx_frame frames[2], *frame; +- const struct qstr *d_name = fname->usr_fname; + struct buffer_head *bh; + ext4_lblk_t block; + int retval; +@@ -1505,7 +1502,7 @@ static struct buffer_head * ext4_dx_find_entry(struct inode *dir, + if (IS_ERR(bh)) + goto errout; + +- retval = search_dirblock(bh, dir, fname, d_name, ++ retval = search_dirblock(bh, dir, fname, + block << EXT4_BLOCK_SIZE_BITS(sb), + res_dir); + if (retval == 1) +@@ -1530,7 +1527,7 @@ static struct buffer_head * ext4_dx_find_entry(struct inode *dir, + + bh = NULL; + errout: +- dxtrace(printk(KERN_DEBUG "%s not found\n", d_name->name)); ++ dxtrace(printk(KERN_DEBUG "%s not found\n", fname->usr_fname->name)); + success: + dx_release(frames); + return bh; +-- +2.13.0.219.gdb65acc882-goog + + diff --git a/series b/series index bb498fcb..6503559c 100644 --- a/series +++ b/series @@ -10,6 +10,7 @@ keep-existing-extra-fields-when-inode-expands fix-off-by-one-on-max-nr_pages-inext4_find_unwritten_pgoff fix-off-by-one-when-writing-back-pages-before-dio-read +remove-unused-d_name-argument-from-ext4_search_dir # Dropped due to regressions # add-largedir-feature diff --git a/timestamps b/timestamps index e44ddce9..a4045b05 100755 --- a/timestamps +++ b/timestamps @@ -38,8 +38,9 @@ touch -d @1495420463 fix-off-by-one-in-loop-termination-in-ext4_find_unwritten_p touch -d @1495420523 handle-the-rest-of-ext4_mb_load_buddy-ENOMEM-errors touch -d @1495420583 keep-existing-extra-fields-when-inode-expands touch -d @1495663340 fix-off-by-one-on-max-nr_pages-inext4_find_unwritten_pgoff -touch -d @1495663400 stable-boundary touch -d @1495663529 fix-off-by-one-when-writing-back-pages-before-dio-read -touch -d @1495663605 series -touch -d @1495663609 status -touch -d @1495663788 timestamps +touch -d @1495663849 remove-unused-d_name-argument-from-ext4_search_dir +touch -d @1495663867 series +touch -d @1495663909 stable-boundary +touch -d @1495663927 status +touch -d @1495664440 timestamps -- 2.11.4.GIT