@@ -1456,34 +1456,25 @@ static struct dentry *jfs_lookup(struct inode *dip, struct dentry *dentry, struc
1456
1456
ino_t inum ;
1457
1457
struct inode * ip ;
1458
1458
struct component_name key ;
1459
- const char * name = dentry -> d_name .name ;
1460
- int len = dentry -> d_name .len ;
1461
1459
int rc ;
1462
1460
1463
- jfs_info ("jfs_lookup: name = %s" , name );
1464
-
1465
- if ((name [0 ] == '.' ) && (len == 1 ))
1466
- inum = dip -> i_ino ;
1467
- else if (strcmp (name , ".." ) == 0 )
1468
- inum = PARENT (dip );
1469
- else {
1470
- if ((rc = get_UCSname (& key , dentry )))
1471
- return ERR_PTR (rc );
1472
- rc = dtSearch (dip , & key , & inum , & btstack , JFS_LOOKUP );
1473
- free_UCSname (& key );
1474
- if (rc == - ENOENT ) {
1475
- d_add (dentry , NULL );
1476
- return NULL ;
1477
- } else if (rc ) {
1478
- jfs_err ("jfs_lookup: dtSearch returned %d" , rc );
1479
- return ERR_PTR (rc );
1480
- }
1461
+ jfs_info ("jfs_lookup: name = %s" , dentry -> d_name .name );
1462
+
1463
+ if ((rc = get_UCSname (& key , dentry )))
1464
+ return ERR_PTR (rc );
1465
+ rc = dtSearch (dip , & key , & inum , & btstack , JFS_LOOKUP );
1466
+ free_UCSname (& key );
1467
+ if (rc == - ENOENT ) {
1468
+ ip = NULL ;
1469
+ } else if (rc ) {
1470
+ jfs_err ("jfs_lookup: dtSearch returned %d" , rc );
1471
+ ip = ERR_PTR (rc );
1472
+ } else {
1473
+ ip = jfs_iget (dip -> i_sb , inum );
1474
+ if (IS_ERR (ip ))
1475
+ jfs_err ("jfs_lookup: iget failed on inum %d" , (uint )inum );
1481
1476
}
1482
1477
1483
- ip = jfs_iget (dip -> i_sb , inum );
1484
- if (IS_ERR (ip ))
1485
- jfs_err ("jfs_lookup: iget failed on inum %d" , (uint ) inum );
1486
-
1487
1478
return d_splice_alias (ip , dentry );
1488
1479
}
1489
1480
0 commit comments