Re: [PATCH] Add d_hash and d_compare operations for case-insensitive names (1 of 1)

Dave Kleikamp <[email protected]> Mon, 12 Jul 2004 13:55:53 -0500
Newsgroups gmane.comp.file-systems.jfs.patches,gmane.linux.file-systems
Message-ID <[email protected]>
On Mon, 2004-07-12 at 13:43, Christoph Hellwig wrote:
> > -	return d_splice_alias(ip, dentry);
> > +	if (JFS_SBI(dip->i_sb)->mntflag & JFS_OS2)
> > +		dentry->d_op = &jfs_ci_dentry_operations;
> > +
> > +	dentry = d_splice_alias(ip, dentry);
> > +
> > +	if (dentry && (JFS_SBI(dip->i_sb)->mntflag & JFS_OS2))
> > +		dentry->d_op = &jfs_ci_dentry_operations;A
> 
> If d_splice_alias doesn't propagate d_ops it needs to be fixed, not worked around.

I didn't realize this was a work-around.  This is where other file
systems set d_op.

> > +	memcpy((unsigned char *)a->name, b->name, a->len);
> 
> why do you need this cast?

qstr defines ->name as const.  Without the cast, the compiler
complains.  Modifying a->name is kind of ugly, but it make case
preservation work.
-- 
David Kleikamp
IBM Linux Technology Center