[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.112 and 1.115

version 1.112, 2005/09/01 06:25:26 version 1.115, 2005/12/11 12:24:51
Line 203  int kernfs_print(void *);
Line 203  int kernfs_print(void *);
 #define kernfs_islocked genfs_islocked  #define kernfs_islocked genfs_islocked
 int     kernfs_pathconf(void *);  int     kernfs_pathconf(void *);
 #define kernfs_advlock  genfs_einval  #define kernfs_advlock  genfs_einval
 #define kernfs_blkatoff genfs_eopnotsupp  
 #define kernfs_valloc   genfs_eopnotsupp  
 #define kernfs_vfree    genfs_nullop  
 #define kernfs_truncate genfs_eopnotsupp  
 #define kernfs_update   genfs_nullop  
 #define kernfs_bwrite   genfs_eopnotsupp  #define kernfs_bwrite   genfs_eopnotsupp
 #define kernfs_putpages genfs_putpages  #define kernfs_putpages genfs_putpages
   
Line 253  const struct vnodeopv_entry_desc kernfs_
Line 248  const struct vnodeopv_entry_desc kernfs_
         { &vop_islocked_desc, kernfs_islocked },        /* islocked */          { &vop_islocked_desc, kernfs_islocked },        /* islocked */
         { &vop_pathconf_desc, kernfs_pathconf },        /* pathconf */          { &vop_pathconf_desc, kernfs_pathconf },        /* pathconf */
         { &vop_advlock_desc, kernfs_advlock },          /* advlock */          { &vop_advlock_desc, kernfs_advlock },          /* advlock */
         { &vop_blkatoff_desc, kernfs_blkatoff },        /* blkatoff */  
         { &vop_valloc_desc, kernfs_valloc },            /* valloc */  
         { &vop_vfree_desc, kernfs_vfree },              /* vfree */  
         { &vop_truncate_desc, kernfs_truncate },        /* truncate */  
         { &vop_update_desc, kernfs_update },            /* update */  
         { &vop_bwrite_desc, kernfs_bwrite },            /* bwrite */          { &vop_bwrite_desc, kernfs_bwrite },            /* bwrite */
         { &vop_putpages_desc, kernfs_putpages },        /* putpages */          { &vop_putpages_desc, kernfs_putpages },        /* putpages */
         { NULL, NULL }          { NULL, NULL }
Line 705  kernfs_open(v)
Line 695  kernfs_open(v)
                 struct vnode *a_vp;                  struct vnode *a_vp;
                 int a_mode;                  int a_mode;
                 struct ucred *a_cred;                  struct ucred *a_cred;
                 struct proc *a_p;                  struct lwp *a_l;
         } */ *ap = v;          } */ *ap = v;
         struct kernfs_node *kfs = VTOKERN(ap->a_vp);          struct kernfs_node *kfs = VTOKERN(ap->a_vp);
 #ifdef IPSEC  #ifdef IPSEC
Line 746  kernfs_close(v)
Line 736  kernfs_close(v)
                 struct vnode *a_vp;                  struct vnode *a_vp;
                 int a_fflag;                  int a_fflag;
                 struct ucred *a_cred;                  struct ucred *a_cred;
                 struct proc *a_p;                  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 773  kernfs_access(v)
Line 763  kernfs_access(v)
                 struct vnode *a_vp;                  struct vnode *a_vp;
                 int a_mode;                  int a_mode;
                 struct ucred *a_cred;                  struct ucred *a_cred;
                 struct proc *a_p;                  struct lwp *a_l;
         } */ *ap = v;          } */ *ap = v;
         struct vattr va;          struct vattr va;
         int error;          int error;
   
         if ((error = VOP_GETATTR(ap->a_vp, &va, ap->a_cred, ap->a_p)) != 0)          if ((error = VOP_GETATTR(ap->a_vp, &va, ap->a_cred, ap->a_l)) != 0)
                 return (error);                  return (error);
   
         return (vaccess(va.va_type, va.va_mode, va.va_uid, va.va_gid,          return (vaccess(va.va_type, va.va_mode, va.va_uid, va.va_gid,
Line 793  kernfs_default_fileop_getattr(v)
Line 783  kernfs_default_fileop_getattr(v)
                 struct vnode *a_vp;                  struct vnode *a_vp;
                 struct vattr *a_vap;                  struct vattr *a_vap;
                 struct ucred *a_cred;                  struct ucred *a_cred;
                 struct proc *a_p;                  struct lwp *a_l;
         } */ *ap = v;          } */ *ap = v;
         struct vattr *vap = ap->a_vap;          struct vattr *vap = ap->a_vap;
   
Line 811  kernfs_getattr(v)
Line 801  kernfs_getattr(v)
                 struct vnode *a_vp;                  struct vnode *a_vp;
                 struct vattr *a_vap;                  struct vattr *a_vap;
                 struct ucred *a_cred;                  struct ucred *a_cred;
                 struct proc *a_p;                  struct lwp *a_l;
         } */ *ap = v;          } */ *ap = v;
         struct kernfs_node *kfs = VTOKERN(ap->a_vp);          struct kernfs_node *kfs = VTOKERN(ap->a_vp);
         struct kernfs_subdir *ks;          struct kernfs_subdir *ks;
Line 932  kernfs_read(v)
Line 922  kernfs_read(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);
         char strbuf[KSTRING], *bf;          char strbuf[KSTRING], *bf;
         off_t off;          int off;
         size_t len;          size_t len;
         int error;          int error;
   
         if (ap->a_vp->v_type == VDIR)          if (ap->a_vp->v_type == VDIR)
                 return (EOPNOTSUPP);                  return (EOPNOTSUPP);
   
           off = (int)uio->uio_offset;
         /* Don't allow negative offsets */          /* Don't allow negative offsets */
         if (uio->uio_offset < 0)          if (off < 0)
                 return EINVAL;                  return EINVAL;
   
         off = uio->uio_offset;  
         bf = strbuf;          bf = strbuf;
         if ((error = kernfs_xread(kfs, off, &bf, sizeof(strbuf), &len)) == 0)          if ((error = kernfs_xread(kfs, off, &bf, sizeof(strbuf), &len)) == 0)
                 error = uiomove(bf, len, uio);                  error = uiomove(bf, len, uio);
Line 1006  kernfs_ioctl(v)
Line 996  kernfs_ioctl(v)
                 void *a_data;                  void *a_data;
                 int a_fflag;                  int a_fflag;
                 struct ucred *a_cred;                  struct ucred *a_cred;
                 struct proc *a_p;                  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 1029  kernfs_setdirentfileno_kt(struct dirent 
Line 1019  kernfs_setdirentfileno_kt(struct dirent 
                 struct vattr va;                  struct vattr va;
                 if ((error = VOP_GETATTR(vp, &va, ap->a_cred,                  if ((error = VOP_GETATTR(vp, &va, ap->a_cred,
                     ap->a_uio->uio_segflg == UIO_USERSPACE ?                      ap->a_uio->uio_segflg == UIO_USERSPACE ?
                     ap->a_uio->uio_procp : &proc0)) != 0)                      ap->a_uio->uio_lwp : &lwp0)) != 0)
                         return (error);                          return (error);
                 d->d_fileno = va.va_fileid;                  d->d_fileno = va.va_fileid;
         } else {          } else {
Line 1392  kernfs_inactive(v)
Line 1382  kernfs_inactive(v)
 {  {
         struct vop_inactive_args /* {          struct vop_inactive_args /* {
                 struct vnode *a_vp;                  struct vnode *a_vp;
                 struct proc *a_p;                  struct lwp *a_l;
         } */ *ap = v;          } */ *ap = v;
         struct vnode *vp = ap->a_vp;          struct vnode *vp = ap->a_vp;
         const struct kernfs_node *kfs = VTOKERN(ap->a_vp);          const struct kernfs_node *kfs = VTOKERN(ap->a_vp);

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

CVSweb <webmaster@jp.NetBSD.org>