Hi, I was playing with solaris sitting inside kernel by hooking vfs & vnode
functions and I came across something which I am not able to understand.
I replaced vfs_mount() with my own function my_mount()

my_mount(vfs_t *vsfp, ...)
{
   vnode_t *rvp = NULL;
   ...
   ...
   call original vfs_mount();   /* Calls original mount for this VFS */
   ...
   ...
   VFS_ROOT(vfsp, &rvp)     /* Fetch root vnode for this vfs */

}

VFS_ROOT() is called after actual file system has been mounted. So after
VFS_ROOT() root vnode should always have a count >= 2. But when I tried the
same exercise with NFS3 it turned out to be 1 (which according to me should
have been at least 2)
Can anybody throw some light why is it so?

Thanks & Regards,
Amit

Reply via email to