1 ext4: trim return value and 'dir' argument from ext4_insert_dentry()
3 From: Eric Biggers <ebiggers@google.com>
5 In the initial implementation of ext4 encryption, the filename was
6 encrypted in ext4_insert_dentry(), which could fail and also required
7 access to the 'dir' inode. Since then ext4 filename encryption has been
8 changed to encrypt the filename earlier, so we can revert the additions
9 to ext4_insert_dentry().
11 Signed-off-by: Eric Biggers <ebiggers@google.com>
12 Signed-off-by: Theodore Ts'o <tytso@mit.edu>
14 fs/ext4/ext4.h | 9 ++++-----
15 fs/ext4/inline.c | 2 +-
16 fs/ext4/namei.c | 17 ++++++-----------
17 3 files changed, 11 insertions(+), 17 deletions(-)
19 diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
20 index f493af666591..d55a244b26a7 100644
23 @@ -2356,11 +2356,10 @@ extern int ext4_find_dest_de(struct inode *dir, struct inode *inode,
24 void *buf, int buf_size,
25 struct ext4_filename *fname,
26 struct ext4_dir_entry_2 **dest_de);
27 -int ext4_insert_dentry(struct inode *dir,
28 - struct inode *inode,
29 - struct ext4_dir_entry_2 *de,
31 - struct ext4_filename *fname);
32 +void ext4_insert_dentry(struct inode *inode,
33 + struct ext4_dir_entry_2 *de,
35 + struct ext4_filename *fname);
36 static inline void ext4_update_dx_flag(struct inode *inode)
38 if (!ext4_has_feature_dir_index(inode->i_sb))
39 diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
40 index 375fb1c05d49..d5dea4c293ef 100644
41 --- a/fs/ext4/inline.c
42 +++ b/fs/ext4/inline.c
43 @@ -1034,7 +1034,7 @@ static int ext4_add_dirent_to_inline(handle_t *handle,
44 err = ext4_journal_get_write_access(handle, iloc->bh);
47 - ext4_insert_dentry(dir, inode, de, inline_size, fname);
48 + ext4_insert_dentry(inode, de, inline_size, fname);
50 ext4_show_inline_dir(dir, iloc->bh, inline_start, inline_size);
52 diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
53 index 6ad612c576fc..70441cdee5cc 100644
56 @@ -1869,11 +1869,10 @@ int ext4_find_dest_de(struct inode *dir, struct inode *inode,
60 -int ext4_insert_dentry(struct inode *dir,
61 - struct inode *inode,
62 - struct ext4_dir_entry_2 *de,
64 - struct ext4_filename *fname)
65 +void ext4_insert_dentry(struct inode *inode,
66 + struct ext4_dir_entry_2 *de,
68 + struct ext4_filename *fname)
72 @@ -1892,7 +1891,6 @@ int ext4_insert_dentry(struct inode *dir,
73 ext4_set_de_type(inode->i_sb, de, inode->i_mode);
74 de->name_len = fname_len(fname);
75 memcpy(de->name, fname_name(fname), fname_len(fname));
80 @@ -1928,11 +1926,8 @@ static int add_dirent_to_buf(handle_t *handle, struct ext4_filename *fname,
84 - /* By now the buffer is marked for journaling. Due to crypto operations,
85 - * the following function call may fail */
86 - err = ext4_insert_dentry(dir, inode, de, blocksize, fname);
89 + /* By now the buffer is marked for journaling */
90 + ext4_insert_dentry(inode, de, blocksize, fname);
93 * XXX shouldn't update any times until successful
95 2.12.2.715.g7642488e1d-goog