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

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

Diff for /src/sys/miscfs/genfs/genfs_vnops.c between version 1.192 and 1.192.14.1

version 1.192, 2014/03/24 13:42:40 version 1.192.14.1, 2017/07/08 16:52:27
Line 548  filt_genfsread(struct knote *kn, long hi
Line 548  filt_genfsread(struct knote *kn, long hi
 }  }
   
 static int  static int
   filt_genfswrite(struct knote *kn, long hint)
   {
           struct vnode *vp = (struct vnode *)kn->kn_hook;
   
           /*
            * filesystem is gone, so set the EOF flag and schedule
            * the knote for deletion.
            */
           switch (hint) {
           case NOTE_REVOKE:
                   KASSERT(mutex_owned(vp->v_interlock));
                   kn->kn_flags |= (EV_EOF | EV_ONESHOT);
                   return (1);
           case 0:
                   mutex_enter(vp->v_interlock);
                   kn->kn_data = 0;
                   mutex_exit(vp->v_interlock);
                   return 1;
           default:
                   KASSERT(mutex_owned(vp->v_interlock));
                   kn->kn_data = 0;
                   return 1;
           }
   }
   
   static int
 filt_genfsvnode(struct knote *kn, long hint)  filt_genfsvnode(struct knote *kn, long hint)
 {  {
         struct vnode *vp = (struct vnode *)kn->kn_hook;          struct vnode *vp = (struct vnode *)kn->kn_hook;
Line 578  filt_genfsvnode(struct knote *kn, long h
Line 604  filt_genfsvnode(struct knote *kn, long h
   
 static const struct filterops genfsread_filtops =  static const struct filterops genfsread_filtops =
         { 1, NULL, filt_genfsdetach, filt_genfsread };          { 1, NULL, filt_genfsdetach, filt_genfsread };
   static const struct filterops genfswrite_filtops =
           { 1, NULL, filt_genfsdetach, filt_genfswrite };
 static const struct filterops genfsvnode_filtops =  static const struct filterops genfsvnode_filtops =
         { 1, NULL, filt_genfsdetach, filt_genfsvnode };          { 1, NULL, filt_genfsdetach, filt_genfsvnode };
   
Line 597  genfs_kqfilter(void *v)
Line 625  genfs_kqfilter(void *v)
         case EVFILT_READ:          case EVFILT_READ:
                 kn->kn_fop = &genfsread_filtops;                  kn->kn_fop = &genfsread_filtops;
                 break;                  break;
           case EVFILT_WRITE:
                   kn->kn_fop = &genfswrite_filtops;
                   break;
         case EVFILT_VNODE:          case EVFILT_VNODE:
                 kn->kn_fop = &genfsvnode_filtops;                  kn->kn_fop = &genfsvnode_filtops;
                 break;                  break;

Legend:
Removed from v.1.192  
changed lines
  Added in v.1.192.14.1

CVSweb <webmaster@jp.NetBSD.org>