help in finding which machine a file is actually stored on
MFHorn
arosen at hawk.ulowell.edu
Wed May 24 06:13:35 AEST 1989
>From article <8204 at thorin.cs.unc.edu>, by sunj at unc.cs.unc.edu (John Sun):
> I need help some help in determining the actual machine a file is stored
> on. What I am looking for is a routine that given an absolute file name
> returns the machine it is stored on in a NFS environment. Is there a
> "system" call that does this? If not, any pointers in helping me write
> such a routine would be appreciated. Thanks!
Here's one way (probably not the only way). I'm assuming a BSD-like
system with a sane stat(2) struct, /etc/fstab and getfsent(3).
-Stat(2) the file and save the st_dev field.
-Look through /etc/fstab (see getfsent(3)), and stat(2) each mount
point (the fs_file field).
-If the st_dev fields match, you've got the right filesystem.
You can then check fs_type to see what type of filesystem it's on,
and fs_spec to find the system the file is on.
--
Andy Rosen | arosen at hawk.ulowell.edu | "I got this guitar and I
ULowell, Box #3031 | ulowell!arosen | learned how to make it
Lowell, Ma 01854 | | talk" -Thunder Road
RD in '88 - The way it should've been
More information about the Comp.unix.wizards
mailing list