finding DEVICE ID and INODE of a file using truss and lstat - why a difference?

From: Largent, Aaron (ALargent@concordefs.com)
Date: Wed May 07 2003 - 13:16:44 EDT


Hi all,

Have a weird-ish question that I have been battling with
for a few days and cannot seem to make any sense of.

I am basically trying to figure out why truss and pfiles
report different DEVICE ID numbers, and how these relate to
each other.

EXAMPLE:
============================
I have a file called /export/home/username/aaaa, and its
inode is 13883.

the directory listing for /dev/vx/dsk/rootdg/export-home
looks like this:

brw------- 1 root root 156,2001 Sep 29 2000 export-home

so the device id should be "156,2001" or some munged form of that...
============================

I write a program that opens the file descriptor, sleeps for
60 seconds, and then closes the file descriptor.

here is pfiles output for the PID:
-----------------------------------
3: S_IFREG mode:0644 dev:156,2001 ino:13883 uid:4639 gid:10 size:0
      O_WRONLY FD_CLOEXEC

here is truss output:
-----------------------------------
fstat(3, 0x000B8B90) = 0
    d=0x027007D1 i=13883 m=0100644 l=1 u=4639 g=10 sz=0
        at = May 7 13:01:17 EDT 2003 [ 1052326877 ]
        mt = May 7 13:08:45 EDT 2003 [ 1052327325 ]
        ct = May 7 13:08:45 EDT 2003 [ 1052327325 ]
    bsz=8192 blks=0 fs=vxfs

THE QUESTION: how does 0x027007D1 relate to 156,2001, and how can
I find the filesystem where the open file is located using truss output?
0x7D1 translates to 2001, but what about 0x02700?
_______________________________________________
sunmanagers mailing list
sunmanagers@sunmanagers.org
http://www.sunmanagers.org/mailman/listinfo/sunmanagers



This archive was generated by hypermail 2.1.7 : Wed Apr 09 2008 - 23:26:21 EDT