You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Every time I mount a HFS disk image and use ls -il to list the files and directories on that volume, the inode numbers change.
They seem to be assigned in ascending order as directories are accessed. So if you mount the disk, access directory A, then access directory B, then you'll get one set of inode numbers. If you unmount and mount again, then access directory B before directory A then you'll get the numbers in a different order.
Is there a way to make macFUSE use the CNID (HFS Catalog Node ID) numbers instead?
In Mac OS X, there's a .vol directory that can be used to list a file by inode. You just need the device number for the volume. stat can be used to get the device number and inode number. GetFileInfo can be used to convert a device number and inode number to a path.
My dumpvols.sh script dumps info from the HFS Master Directory Block. There's some fields in drFndrInfo that use CNIDs. The bless command can be used to view and modify that info, but it doesn't work with fusehfs. I haven't checked the source code to see if it still has support for HFS. I do have a fork that compiles at least.
Do Finder aliases use CNIDs? I know with SheepShaver, if you mount a Mac OS X path in the emulated classic macOS, Finder Aliases created in one instance won't work when running in a different instance. That possibly might be due to the CNIDs not being constant but I haven't checked. I think in SheepShaver, the mount may act more like a network mount since you could access any number of disks through the /Volumes path.
The text was updated successfully, but these errors were encountered:
Every time I mount a HFS disk image and use
ls -il
to list the files and directories on that volume, the inode numbers change.They seem to be assigned in ascending order as directories are accessed. So if you mount the disk, access directory A, then access directory B, then you'll get one set of inode numbers. If you unmount and mount again, then access directory B before directory A then you'll get the numbers in a different order.
Is there a way to make macFUSE use the CNID (HFS Catalog Node ID) numbers instead?
In Mac OS X, there's a
.vol
directory that can be used to list a file by inode. You just need the device number for the volume.stat
can be used to get the device number and inode number.GetFileInfo
can be used to convert a device number and inode number to a path.Those commands don't work with fusehfs though.
My dumpvols.sh script dumps info from the HFS Master Directory Block. There's some fields in
drFndrInfo
that use CNIDs. Thebless
command can be used to view and modify that info, but it doesn't work with fusehfs. I haven't checked the source code to see if it still has support for HFS. I do have a fork that compiles at least.Do Finder aliases use CNIDs? I know with SheepShaver, if you mount a Mac OS X path in the emulated classic macOS, Finder Aliases created in one instance won't work when running in a different instance. That possibly might be due to the CNIDs not being constant but I haven't checked. I think in SheepShaver, the mount may act more like a network mount since you could access any number of disks through the /Volumes path.
The text was updated successfully, but these errors were encountered: