diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index bb6b6be..35ef40b 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -2585,6 +2585,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 char *name, int len, + struct dx_hash_info *hinfo); + /* ialloc.c */ extern struct inode *__ext4_new_inode(handle_t *, struct inode *, umode_t, const struct qstr *qstr, __u32 goal, diff --git a/fs/ext4/hash.c b/fs/ext4/hash.c index d358bfc..f7d575a 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 char *name, int len, - struct dx_hash_info *hinfo) +int __ext4fs_dirhash(const char *name, int len, + struct dx_hash_info *hinfo) { __u32 hash; __u32 minor_hash = 0; @@ -270,6 +270,7 @@ static int __ext4fs_dirhash(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)