Diff for /src/sys/sys/vnode.h between versions 1.15 and 1.16

version 1.15, 2004/04/24 04:32:03 version 1.16, 2004/05/19 22:53:03
Line 89  typedef int  vop_t (void *); Line 89  typedef int  vop_t (void *);
  * v_flag, v_usecount, v_holdcount and v_writecount are   * v_flag, v_usecount, v_holdcount and v_writecount are
  *    locked by the v_interlock token.   *    locked by the v_interlock token.
  * v_pollinfo is locked by the lock contained inside it.   * v_pollinfo is locked by the lock contained inside it.
    *
    * XXX note: v_opencount currently only used by specfs.  It should be used
    * universally.
  */   */
 struct vnode {  struct vnode {
         u_long  v_flag;                         /* vnode flags (see below) */          u_long  v_flag;                         /* vnode flags (see below) */
         int     v_usecount;                     /* reference count of users */          int     v_usecount;                     /* reference count of users */
         int     v_writecount;                   /* reference count of writers */          int     v_writecount;                   /* reference count of writers */
         int     v_holdcnt;                      /* page & buffer references */          int     v_holdcnt;                      /* page & buffer references */
           int     v_opencount;                    /* number of explicit opens */
         u_long  v_id;                           /* capability identifier */          u_long  v_id;                           /* capability identifier */
         struct  mount *v_mount;                 /* ptr to vfs we are in */          struct  mount *v_mount;                 /* ptr to vfs we are in */
         vop_t   **v_op;                         /* vnode operations vector */          vop_t   **v_op;                         /* vnode operations vector */
Line 109  struct vnode { Line 113  struct vnode {
                 struct mount    *vu_mountedhere;/* ptr to mounted vfs (VDIR) */                  struct mount    *vu_mountedhere;/* ptr to mounted vfs (VDIR) */
                 struct socket   *vu_socket;     /* unix ipc (VSOCK) */                  struct socket   *vu_socket;     /* unix ipc (VSOCK) */
                 struct {                  struct {
                           udev_t  vu_udev;        /* device number for attach */
                         struct specinfo *vu_specinfo; /* device (VCHR, VBLK) */                          struct specinfo *vu_specinfo; /* device (VCHR, VBLK) */
                         SLIST_ENTRY(vnode) vu_specnext;                          SLIST_ENTRY(vnode) vu_specnext;
                 } vu_spec;                  } vu_spec;
Line 140  struct vnode { Line 145  struct vnode {
 };  };
 #define v_mountedhere   v_un.vu_mountedhere  #define v_mountedhere   v_un.vu_mountedhere
 #define v_socket        v_un.vu_socket  #define v_socket        v_un.vu_socket
   #define v_udev          v_un.vu_spec.vu_udev
 #define v_rdev          v_un.vu_spec.vu_specinfo  #define v_rdev          v_un.vu_spec.vu_specinfo
 #define v_specnext      v_un.vu_spec.vu_specnext  #define v_specnext      v_un.vu_spec.vu_specnext
 #define v_fifoinfo      v_un.vu_fifoinfo  #define v_fifoinfo      v_un.vu_fifoinfo
Line 525  struct vop_bwrite_args; Line 531  struct vop_bwrite_args;
   
 extern int      (*lease_check_hook) (struct vop_lease_args *);  extern int      (*lease_check_hook) (struct vop_lease_args *);
   
void    addalias (struct vnode *vp, dev_t nvp_rdev);void    addaliasu (struct vnode *vp, udev_t nvp_udev);
void    addaliasu (struct vnode *vp, udev_t nvp_rdev);int     v_associate_rdev(struct vnode *vp, dev_t dev);
 void    v_release_rdev(struct vnode *vp);
 int     bdevvp (dev_t dev, struct vnode **vpp);  int     bdevvp (dev_t dev, struct vnode **vpp);
 void    cvtstat (struct stat *st, struct ostat *ost);  void    cvtstat (struct stat *st, struct ostat *ost);
 void    cvtnstat (struct stat *sb, struct nstat *nsb);  void    cvtnstat (struct stat *sb, struct nstat *nsb);

Removed from v.1.15  
changed lines
  Added in v.1.16