Viewing: export-ext4fs-dirhash-helper.patch

Subject: [PATCH] linux-5.14/export-ext4fs-dirhash-helper

---
 fs/ext4/ext4.h | 3 +++
 fs/ext4/hash.c | 5 +++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index 083c109..09d8720 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -2996,6 +2996,9 @@ extern int ext4_sync_file(struct file *, loff_t, loff_t, int);
 extern int ext4fs_dirhash(const struct inode *dir, const char *name, int len,
 			  struct dx_hash_info *hinfo);
 
+extern int __ext4fs_dirhash(const struct inode *dir, const char *name, int len,
+			    struct dx_hash_info *hinfo);
+
 /* ialloc.c */
 extern int ext4_mark_inode_used(struct super_block *sb, int ino);
 extern struct inode *__ext4_new_inode(struct user_namespace *, handle_t *,
diff --git a/fs/ext4/hash.c b/fs/ext4/hash.c
index f34f417..a41bd48 100644
--- a/fs/ext4/hash.c
+++ b/fs/ext4/hash.c
@@ -197,8 +197,8 @@ static void str2hashbuf_unsigned(const char *msg, int len, __u32 *buf, int num)
  * represented, and whether or not the returned hash is 32 bits or 64
  * bits.  32 bit hashes will return 0 for the minor hash.
  */
-static int __ext4fs_dirhash(const struct inode *dir, const char *name, int len,
-			    struct dx_hash_info *hinfo)
+int __ext4fs_dirhash(const struct inode *dir, const char *name, int len,
+		     struct dx_hash_info *hinfo)
 {
 	__u32	hash;
 	__u32	minor_hash = 0;
@@ -286,6 +286,7 @@ static int __ext4fs_dirhash(const struct inode *dir, const char *name, int len,
 	hinfo->minor_hash = minor_hash;
 	return 0;
 }
+EXPORT_SYMBOL(__ext4fs_dirhash);
 
 int ext4fs_dirhash(const struct inode *dir, const char *name, int len,
 		   struct dx_hash_info *hinfo)
-- 
2.31.1