Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3fe1985 authored by Al Viro's avatar Al Viro
Browse files

cifs, msdos, vfat, hfs+: don't bother with parent in ->d_compare()



dentry->d_sb is just as good as parent->d_sb

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent e0b3f595
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -906,7 +906,7 @@ static int cifs_ci_hash(const struct dentry *dentry, struct qstr *q)
static int cifs_ci_compare(const struct dentry *parent, const struct dentry *dentry,
		unsigned int len, const char *str, const struct qstr *name)
{
	struct nls_table *codepage = CIFS_SB(parent->d_sb)->local_nls;
	struct nls_table *codepage = CIFS_SB(dentry->d_sb)->local_nls;
	wchar_t c1, c2;
	int i, l1, l2;

+1 −1
Original line number Diff line number Diff line
@@ -165,7 +165,7 @@ static int msdos_hash(const struct dentry *dentry, struct qstr *qstr)
static int msdos_cmp(const struct dentry *parent, const struct dentry *dentry,
		unsigned int len, const char *str, const struct qstr *name)
{
	struct fat_mount_options *options = &MSDOS_SB(parent->d_sb)->options;
	struct fat_mount_options *options = &MSDOS_SB(dentry->d_sb)->options;
	unsigned char a_msdos_name[MSDOS_NAME], b_msdos_name[MSDOS_NAME];
	int error;

+1 −1
Original line number Diff line number Diff line
@@ -141,7 +141,7 @@ static int vfat_hashi(const struct dentry *dentry, struct qstr *qstr)
static int vfat_cmpi(const struct dentry *parent, const struct dentry *dentry,
		unsigned int len, const char *str, const struct qstr *name)
{
	struct nls_table *t = MSDOS_SB(parent->d_sb)->nls_io;
	struct nls_table *t = MSDOS_SB(dentry->d_sb)->nls_io;
	unsigned int alen, blen;

	/* A filename cannot end in '.' or we treat it like it has none */
+1 −1
Original line number Diff line number Diff line
@@ -388,7 +388,7 @@ int hfsplus_hash_dentry(const struct dentry *dentry, struct qstr *str)
int hfsplus_compare_dentry(const struct dentry *parent, const struct dentry *dentry,
		unsigned int len, const char *str, const struct qstr *name)
{
	struct super_block *sb = parent->d_sb;
	struct super_block *sb = dentry->d_sb;
	int casefold, decompose, size;
	int dsize1, dsize2, len1, len2;
	const u16 *dstr1, *dstr2;
+1 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ static int hpfs_compare_dentry(const struct dentry *parent, const struct dentry

	if (hpfs_chk_name(name->name, &bl))
		return 1;
	if (hpfs_compare_names(parent->d_sb, str, al, name->name, bl, 0))
	if (hpfs_compare_names(dentry->d_sb, str, al, name->name, bl, 0))
		return 1;
	return 0;
}