add patch rename-ext4_xattr_check_names-to-ext4_xattr_check_entries
[ext4-patch-queue.git] / trim-return-value-and-dir-argument-from-ext4_insert_dentry
blob4ca16f6df72c637c855837a7084a4e335fd492f5
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>
13 ---
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
21 --- a/fs/ext4/ext4.h
22 +++ b/fs/ext4/ext4.h
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,
30 -                      int buf_size,
31 -                      struct ext4_filename *fname);
32 +void ext4_insert_dentry(struct inode *inode,
33 +                       struct ext4_dir_entry_2 *de,
34 +                       int buf_size,
35 +                       struct ext4_filename *fname);
36  static inline void ext4_update_dx_flag(struct inode *inode)
37  {
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);
45         if (err)
46                 return err;
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
54 --- a/fs/ext4/namei.c
55 +++ b/fs/ext4/namei.c
56 @@ -1869,11 +1869,10 @@ int ext4_find_dest_de(struct inode *dir, struct inode *inode,
57         return res;
58  }
60 -int ext4_insert_dentry(struct inode *dir,
61 -                      struct inode *inode,
62 -                      struct ext4_dir_entry_2 *de,
63 -                      int buf_size,
64 -                      struct ext4_filename *fname)
65 +void ext4_insert_dentry(struct inode *inode,
66 +                       struct ext4_dir_entry_2 *de,
67 +                       int buf_size,
68 +                       struct ext4_filename *fname)
69  {
71         int nlen, rlen;
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));
76 -       return 0;
77  }
79  /*
80 @@ -1928,11 +1926,8 @@ static int add_dirent_to_buf(handle_t *handle, struct ext4_filename *fname,
81                 return err;
82         }
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);
87 -       if (err < 0)
88 -               return err;
89 +       /* By now the buffer is marked for journaling */
90 +       ext4_insert_dentry(inode, de, blocksize, fname);
92         /*
93          * XXX shouldn't update any times until successful
94 -- 
95 2.12.2.715.g7642488e1d-goog