xfs: devirtualize ->m_dirnameops
Instead of causing a relatively expensive indirect call for each hashing and comparism of a file name in a directory just use an inline function and a simple branch on the ASCII CI bit. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> [darrick: fix unused variable warning] Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:

committed by
Darrick J. Wong

parent
537dabcfdb
commit
d8d11fc703
@@ -875,7 +875,7 @@ xfs_dir2_leafn_lookup_for_entry(
|
||||
* EEXIST immediately. If it's the first case-insensitive
|
||||
* match, store the block & inode number and continue looking.
|
||||
*/
|
||||
cmp = mp->m_dirnameops->compname(args, dep->name, dep->namelen);
|
||||
cmp = xfs_dir2_compname(args, dep->name, dep->namelen);
|
||||
if (cmp != XFS_CMP_DIFFERENT && cmp != args->cmpresult) {
|
||||
/* If there is a CI match block, drop it */
|
||||
if (args->cmpresult != XFS_CMP_DIFFERENT &&
|
||||
|
Reference in New Issue
Block a user