On Sun, 15 Aug 1999, John Polstra wrote:

> I have two VFS-related questions which are probably pretty basic.
> 
> 1. I have a pointer to a vnode and I want to get the corresponding
> dev_t and inode number.  Is there a non-sleazy way to do that other
> than calling vn_stat?

use vn_todev from "vfs_subr.c" ~line 2970 of 2976 if you just
need the dev_t.  but you may wind up needing the GETATTR call for
the inode lookup.

> 2. The first action of vn_stat is to call VOP_GETATTR.  VOP_GETATTR(9)
> says, "The file should not be locked on entry."  But when stat calls
> vn_stat, the vnode is locked.  Which is correct -- or doesn't it
> matter?

the lookup at the begininngin of the stat() call's side-effect is to 
lock the vnode it returns but kern/vnode.src seems to indicate
that the vnode's locking state doesn't matter...

so does the various states that vnodes are in when called from
vfs_syscalls, such as the lseek syscall.

it's slighly confusing, if the vnode is locked for "access" calls
why is it not locked for attribute calls?

-Alfred Perlstein - [bri...@rush.net|alf...@freebsd.org]
Wintelcom systems administrator and programmer
   - http://www.wintelcom.net/ [bri...@wintelcom.net]



To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to