[BACK]Return to kernfs_vnops.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / miscfs / kernfs

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/miscfs/kernfs/kernfs_vnops.c between version 1.115 and 1.122

version 1.115, 2005/12/11 12:24:51 version 1.122, 2006/06/23 14:59:40
Line 255  const struct vnodeopv_entry_desc kernfs_
Line 255  const struct vnodeopv_entry_desc kernfs_
 const struct vnodeopv_desc kernfs_vnodeop_opv_desc =  const struct vnodeopv_desc kernfs_vnodeop_opv_desc =
         { &kernfs_vnodeop_p, kernfs_vnodeop_entries };          { &kernfs_vnodeop_p, kernfs_vnodeop_entries };
   
 static __inline int  static inline int
 kernfs_fileop_compare(struct kernfs_fileop *a, struct kernfs_fileop *b)  kernfs_fileop_compare(struct kernfs_fileop *a, struct kernfs_fileop *b)
 {  {
         if (a->kf_type < b->kf_type)          if (a->kf_type < b->kf_type)
Line 694  kernfs_open(v)
Line 694  kernfs_open(v)
         struct vop_open_args /* {          struct vop_open_args /* {
                 struct vnode *a_vp;                  struct vnode *a_vp;
                 int a_mode;                  int a_mode;
                 struct ucred *a_cred;                  kauth_cred_t a_cred;
                 struct lwp *a_l;                  struct lwp *a_l;
         } */ *ap = v;          } */ *ap = v;
         struct kernfs_node *kfs = VTOKERN(ap->a_vp);          struct kernfs_node *kfs = VTOKERN(ap->a_vp);
Line 735  kernfs_close(v)
Line 735  kernfs_close(v)
         struct vop_close_args /* {          struct vop_close_args /* {
                 struct vnode *a_vp;                  struct vnode *a_vp;
                 int a_fflag;                  int a_fflag;
                 struct ucred *a_cred;                  kauth_cred_t a_cred;
                 struct lwp *a_l;                  struct lwp *a_l;
         } */ *ap = v;          } */ *ap = v;
         struct kernfs_node *kfs = VTOKERN(ap->a_vp);          struct kernfs_node *kfs = VTOKERN(ap->a_vp);
Line 762  kernfs_access(v)
Line 762  kernfs_access(v)
         struct vop_access_args /* {          struct vop_access_args /* {
                 struct vnode *a_vp;                  struct vnode *a_vp;
                 int a_mode;                  int a_mode;
                 struct ucred *a_cred;                  kauth_cred_t a_cred;
                 struct lwp *a_l;                  struct lwp *a_l;
         } */ *ap = v;          } */ *ap = v;
         struct vattr va;          struct vattr va;
Line 782  kernfs_default_fileop_getattr(v)
Line 782  kernfs_default_fileop_getattr(v)
         struct vop_getattr_args /* {          struct vop_getattr_args /* {
                 struct vnode *a_vp;                  struct vnode *a_vp;
                 struct vattr *a_vap;                  struct vattr *a_vap;
                 struct ucred *a_cred;                  kauth_cred_t a_cred;
                 struct lwp *a_l;                  struct lwp *a_l;
         } */ *ap = v;          } */ *ap = v;
         struct vattr *vap = ap->a_vap;          struct vattr *vap = ap->a_vap;
Line 800  kernfs_getattr(v)
Line 800  kernfs_getattr(v)
         struct vop_getattr_args /* {          struct vop_getattr_args /* {
                 struct vnode *a_vp;                  struct vnode *a_vp;
                 struct vattr *a_vap;                  struct vattr *a_vap;
                 struct ucred *a_cred;                  kauth_cred_t a_cred;
                 struct lwp *a_l;                  struct lwp *a_l;
         } */ *ap = v;          } */ *ap = v;
         struct kernfs_node *kfs = VTOKERN(ap->a_vp);          struct kernfs_node *kfs = VTOKERN(ap->a_vp);
Line 819  kernfs_getattr(v)
Line 819  kernfs_getattr(v)
         vap->va_flags = 0;          vap->va_flags = 0;
         vap->va_size = 0;          vap->va_size = 0;
         vap->va_blocksize = DEV_BSIZE;          vap->va_blocksize = DEV_BSIZE;
         /*          /* Make all times be current TOD, except for the "boottime" node. */
          * Make all times be current TOD, except for the "boottime" node.  
          * Avoid microtime(9), it's slow.  
          * We don't guard the read from time(9) with splclock(9) since we  
          * don't actually need to be THAT sure the access is atomic.  
          */  
         if (kfs->kfs_kt && kfs->kfs_kt->kt_namlen == 8 &&          if (kfs->kfs_kt && kfs->kfs_kt->kt_namlen == 8 &&
             !memcmp(kfs->kfs_kt->kt_name, "boottime", 8)) {              !memcmp(kfs->kfs_kt->kt_name, "boottime", 8)) {
                 TIMEVAL_TO_TIMESPEC(&boottime, &vap->va_ctime);                  TIMEVAL_TO_TIMESPEC(&boottime, &vap->va_ctime);
         } else {          } else {
                 TIMEVAL_TO_TIMESPEC(&time, &vap->va_ctime);                  getnanotime(&vap->va_ctime);
         }          }
         vap->va_atime = vap->va_mtime = vap->va_ctime;          vap->va_atime = vap->va_mtime = vap->va_ctime;
         vap->va_gen = 0;          vap->va_gen = 0;
Line 917  kernfs_read(v)
Line 912  kernfs_read(v)
                 struct vnode *a_vp;                  struct vnode *a_vp;
                 struct uio *a_uio;                  struct uio *a_uio;
                 int  a_ioflag;                  int  a_ioflag;
                 struct ucred *a_cred;                  kauth_cred_t a_cred;
         } */ *ap = v;          } */ *ap = v;
         struct uio *uio = ap->a_uio;          struct uio *uio = ap->a_uio;
         struct kernfs_node *kfs = VTOKERN(ap->a_vp);          struct kernfs_node *kfs = VTOKERN(ap->a_vp);
Line 948  kernfs_default_xwrite(v)
Line 943  kernfs_default_xwrite(v)
                 struct vnode *a_vp;                  struct vnode *a_vp;
                 struct uio *a_uio;                  struct uio *a_uio;
                 int  a_ioflag;                  int  a_ioflag;
                 struct ucred *a_cred;                  kauth_cred_t a_cred;
         } */ *ap = v;          } */ *ap = v;
         struct kernfs_node *kfs = VTOKERN(ap->a_vp);          struct kernfs_node *kfs = VTOKERN(ap->a_vp);
         struct uio *uio = ap->a_uio;          struct uio *uio = ap->a_uio;
Line 978  kernfs_write(v)
Line 973  kernfs_write(v)
                 struct vnode *a_vp;                  struct vnode *a_vp;
                 struct uio *a_uio;                  struct uio *a_uio;
                 int  a_ioflag;                  int  a_ioflag;
                 struct ucred *a_cred;                  kauth_cred_t a_cred;
         } */ *ap = v;          } */ *ap = v;
         struct kernfs_node *kfs = VTOKERN(ap->a_vp);          struct kernfs_node *kfs = VTOKERN(ap->a_vp);
   
Line 995  kernfs_ioctl(v)
Line 990  kernfs_ioctl(v)
                 u_long a_command;                  u_long a_command;
                 void *a_data;                  void *a_data;
                 int a_fflag;                  int a_fflag;
                 struct ucred *a_cred;                  kauth_cred_t a_cred;
                 struct lwp *a_l;                  struct lwp *a_l;
         } */ *ap = v;          } */ *ap = v;
         struct kernfs_node *kfs = VTOKERN(ap->a_vp);          struct kernfs_node *kfs = VTOKERN(ap->a_vp);
Line 1017  kernfs_setdirentfileno_kt(struct dirent 
Line 1012  kernfs_setdirentfileno_kt(struct dirent 
                 return error;                  return error;
         if (kt->kt_tag == KFSdevice) {          if (kt->kt_tag == KFSdevice) {
                 struct vattr va;                  struct vattr va;
                 if ((error = VOP_GETATTR(vp, &va, ap->a_cred,  
                     ap->a_uio->uio_segflg == UIO_USERSPACE ?                  error = VOP_GETATTR(vp, &va, ap->a_cred, curlwp);
                     ap->a_uio->uio_lwp : &lwp0)) != 0)                  if (error != 0) {
                         return (error);                          return error;
                   }
                 d->d_fileno = va.va_fileid;                  d->d_fileno = va.va_fileid;
         } else {          } else {
                 kfs = VTOKERN(vp);                  kfs = VTOKERN(vp);
Line 1064  kernfs_readdir(v)
Line 1060  kernfs_readdir(v)
         struct vop_readdir_args /* {          struct vop_readdir_args /* {
                 struct vnode *a_vp;                  struct vnode *a_vp;
                 struct uio *a_uio;                  struct uio *a_uio;
                 struct ucred *a_cred;                  kauth_cred_t a_cred;
                 int *a_eofflag;                  int *a_eofflag;
                 off_t **a_cookies;                  off_t **a_cookies;
                 int a_*ncookies;                  int a_*ncookies;
Line 1121  kernfs_readdir(v)
Line 1117  kernfs_readdir(v)
                                                 break;                                                  break;
                                 } else {                                  } else {
                                         dkt = SIMPLEQ_NEXT(dkt, dkt_queue);                                          dkt = SIMPLEQ_NEXT(dkt, dkt_queue);
                                         if (dkt == NULL)  
                                                 break;  
                                 }                                  }
                                   if (dkt == NULL)
                                           break;
                                 kt = &dkt->dkt_kt;                                  kt = &dkt->dkt_kt;
                         }                          }
                         if (kt->kt_tag == KFSdevice) {                          if (kt->kt_tag == KFSdevice) {

Legend:
Removed from v.1.115  
changed lines
  Added in v.1.122

CVSweb <webmaster@jp.NetBSD.org>