ext4 crypto: export ext4_empty_dir()
authorMichael Halcrow <mhalcrow@google.com>
Sat, 11 Apr 2015 11:46:49 +0000 (07:46 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 11 Apr 2015 11:46:49 +0000 (07:46 -0400)
Required for future encryption xattr changes.

Signed-off-by: Michael Halcrow <mhalcrow@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/ext4.h
fs/ext4/namei.c

index e1683829b2b56be3ec8e5b2a5e439c577a8679b9..180111de2302377ab202bfd7508dd2ef544cf639 100644 (file)
@@ -2199,6 +2199,7 @@ extern int ext4_generic_delete_entry(handle_t *handle,
                                     void *entry_buf,
                                     int buf_size,
                                     int csum_size);
+extern int ext4_empty_dir(struct inode *inode);
 
 /* resize.c */
 extern int ext4_group_add(struct super_block *sb,
index 23a0b9bf822d5a66529774cfbcc654a6d6a751a3..0dbd2d2937f76b7de364526797f00fce26c48050 100644 (file)
@@ -2457,7 +2457,7 @@ out_stop:
 /*
  * routine to check that the specified directory is empty (for rmdir)
  */
-static int empty_dir(struct inode *inode)
+int ext4_empty_dir(struct inode *inode)
 {
        unsigned int offset;
        struct buffer_head *bh;
@@ -2725,7 +2725,7 @@ static int ext4_rmdir(struct inode *dir, struct dentry *dentry)
                goto end_rmdir;
 
        retval = -ENOTEMPTY;
-       if (!empty_dir(inode))
+       if (!ext4_empty_dir(inode))
                goto end_rmdir;
 
        handle = ext4_journal_start(dir, EXT4_HT_DIR,
@@ -3285,7 +3285,7 @@ static int ext4_rename(struct inode *old_dir, struct dentry *old_dentry,
        if (S_ISDIR(old.inode->i_mode)) {
                if (new.inode) {
                        retval = -ENOTEMPTY;
-                       if (!empty_dir(new.inode))
+                       if (!ext4_empty_dir(new.inode))
                                goto end_rename;
                } else {
                        retval = -EMLINK;
@@ -3359,8 +3359,9 @@ static int ext4_rename(struct inode *old_dir, struct dentry *old_dentry,
 
                ext4_dec_count(handle, old.dir);
                if (new.inode) {
-                       /* checked empty_dir above, can't have another parent,
-                        * ext4_dec_count() won't work for many-linked dirs */
+                       /* checked ext4_empty_dir above, can't have another
+                        * parent, ext4_dec_count() won't work for many-linked
+                        * dirs */
                        clear_nlink(new.inode);
                } else {
                        ext4_inc_count(handle, new.dir);