File tree Expand file tree Collapse file tree 1 file changed +7
-3
lines changed Expand file tree Collapse file tree 1 file changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -272,10 +272,14 @@ pub fn lookup_path_with(
272272 let metadata = inode. metadata ( ) ?;
273273
274274 if metadata. is_symlink ( ) {
275- let relative_path_str = inode. resolve_link ( ) ?;
276- let relative_path = Path :: new ( & relative_path_str ) ;
275+ let resolved_path_str = inode. resolve_link ( ) ?;
276+ let resolved_path = Path :: new ( & resolved_path_str ) ;
277277
278- return lookup_path_with ( parent, relative_path, LookupMode :: None ) ;
278+ if resolved_path. is_absolute ( ) {
279+ return lookup_path ( resolved_path) ;
280+ }
281+
282+ return lookup_path_with ( parent, resolved_path, LookupMode :: None ) ;
279283 } else if metadata. is_directory ( ) {
280284 if let Ok ( mount_point) = MOUNT_MANAGER . find_mount ( cwd. clone ( ) ) {
281285 cwd = mount_point. root_entry ;
You can’t perform that action at this time.
0 commit comments