2020-12-04 23:44:28

by Eric Biggers

[permalink] [raw]
Subject: [PATCH] libfs: unexport generic_ci_d_compare() and generic_ci_d_hash()

From: Eric Biggers <[email protected]>

Now that generic_set_encrypted_ci_d_ops() has been added and ext4 and
f2fs are using it, it's no longer necessary to export
generic_ci_d_compare() and generic_ci_d_hash() to filesystems.

Signed-off-by: Eric Biggers <[email protected]>
---

This patch applies to f2fs/dev, as it depends on "libfs: Add generic
function for setting dentry_ops" and "fscrypt: Have filesystems handle
their d_ops" which are queued in f2fs/dev.

fs/libfs.c | 8 +++-----
include/linux/fs.h | 5 -----
2 files changed, 3 insertions(+), 10 deletions(-)

diff --git a/fs/libfs.c b/fs/libfs.c
index bac9186990220..a33bc3451d096 100644
--- a/fs/libfs.c
+++ b/fs/libfs.c
@@ -1386,8 +1386,8 @@ static bool needs_casefold(const struct inode *dir)
*
* Return: 0 if names match, 1 if mismatch, or -ERRNO
*/
-int generic_ci_d_compare(const struct dentry *dentry, unsigned int len,
- const char *str, const struct qstr *name)
+static int generic_ci_d_compare(const struct dentry *dentry, unsigned int len,
+ const char *str, const struct qstr *name)
{
const struct dentry *parent = READ_ONCE(dentry->d_parent);
const struct inode *dir = READ_ONCE(parent->d_inode);
@@ -1424,7 +1424,6 @@ int generic_ci_d_compare(const struct dentry *dentry, unsigned int len,
return 1;
return !!memcmp(str, name->name, len);
}
-EXPORT_SYMBOL(generic_ci_d_compare);

/**
* generic_ci_d_hash - generic d_hash implementation for casefolding filesystems
@@ -1433,7 +1432,7 @@ EXPORT_SYMBOL(generic_ci_d_compare);
*
* Return: 0 if hash was successful or unchanged, and -EINVAL on error
*/
-int generic_ci_d_hash(const struct dentry *dentry, struct qstr *str)
+static int generic_ci_d_hash(const struct dentry *dentry, struct qstr *str)
{
const struct inode *dir = READ_ONCE(dentry->d_inode);
struct super_block *sb = dentry->d_sb;
@@ -1448,7 +1447,6 @@ int generic_ci_d_hash(const struct dentry *dentry, struct qstr *str)
return -EINVAL;
return 0;
}
-EXPORT_SYMBOL(generic_ci_d_hash);

static const struct dentry_operations generic_ci_dentry_ops = {
.d_hash = generic_ci_d_hash,
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 4a25ab4dbd3e9..f000cccaa6ac7 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -3181,11 +3181,6 @@ extern int generic_file_fsync(struct file *, loff_t, loff_t, int);

extern int generic_check_addressable(unsigned, u64);

-#ifdef CONFIG_UNICODE
-extern int generic_ci_d_hash(const struct dentry *dentry, struct qstr *str);
-extern int generic_ci_d_compare(const struct dentry *dentry, unsigned int len,
- const char *str, const struct qstr *name);
-#endif
extern void generic_set_encrypted_ci_d_ops(struct dentry *dentry);

#ifdef CONFIG_MIGRATION

base-commit: a7f72973ac2342644fce026e01943ed0f41fcc4a
--
2.29.2


2020-12-07 12:05:58

by Gabriel Krisman Bertazi

[permalink] [raw]
Subject: Re: [PATCH] libfs: unexport generic_ci_d_compare() and generic_ci_d_hash()

Eric Biggers <[email protected]> writes:

> From: Eric Biggers <[email protected]>
>
> Now that generic_set_encrypted_ci_d_ops() has been added and ext4 and
> f2fs are using it, it's no longer necessary to export
> generic_ci_d_compare() and generic_ci_d_hash() to filesystems.
>
> Signed-off-by: Eric Biggers <[email protected]>

Reviewed-by: Gabriel Krisman Bertazi <[email protected]>


--
Gabriel Krisman Bertazi