openbsd-20031007
authorJim Rees <rees@umich.edu>
Wed, 8 Oct 2003 14:48:11 +0000 (14:48 +0000)
committerJim Rees <rees@umich.edu>
Wed, 8 Oct 2003 14:48:11 +0000 (14:48 +0000)
use poll instead of select for 3.5 and beyond
reported by provos

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

works much better if you check the right vnode pointer

src/afs/OBSD/osi_file.c
src/afs/OBSD/osi_vnodeops.c

index 3ab4b3f..045b123 100644 (file)
@@ -38,7 +38,7 @@ osi_UFSOpen(afs_int32 ainode)
        osi_Panic("UFSOpen called for non-UFS cache\n");
     afile = (struct osi_file *)osi_AllocSmallSpace(sizeof(struct osi_file));
     code = VFS_VGET(cacheDev.mp, (ino_t) ainode, &vp);
-    if (afile->vnode->v_type == VNON)
+    if (vp->v_type == VNON)
        code = ENOENT;
     if (code) {
        osi_FreeSmallSpace(afile);
index e4ee7a4..4715adf 100644 (file)
@@ -129,7 +129,6 @@ int afs_nbsd_setattr(struct vop_setattr_args *);
 int afs_nbsd_read(struct vop_read_args *);
 int afs_nbsd_write(struct vop_write_args *);
 int afs_nbsd_ioctl(struct vop_ioctl_args *);
-int afs_nbsd_select(struct vop_select_args *);
 int afs_nbsd_fsync(struct vop_fsync_args *);
 int afs_nbsd_remove(struct vop_remove_args *);
 int afs_nbsd_link(struct vop_link_args *);
@@ -161,33 +160,37 @@ struct vnodeopv_entry_desc afs_vnodeop_entries[] = {
     {&vop_default_desc, vn_default_error},
     {&vop_lookup_desc, afs_nbsd_lookup},       /* lookup */
     {&vop_create_desc, afs_nbsd_create},       /* create */
-    {&vop_mknod_desc, afs_nbsd_mknod}, /* mknod */
-    {&vop_open_desc, afs_nbsd_open},   /* open */
-    {&vop_close_desc, afs_nbsd_close}, /* close */
+    {&vop_mknod_desc, afs_nbsd_mknod},         /* mknod */
+    {&vop_open_desc, afs_nbsd_open},           /* open */
+    {&vop_close_desc, afs_nbsd_close},         /* close */
     {&vop_access_desc, afs_nbsd_access},       /* access */
     {&vop_getattr_desc, afs_nbsd_getattr},     /* getattr */
     {&vop_setattr_desc, afs_nbsd_setattr},     /* setattr */
-    {&vop_read_desc, afs_nbsd_read},   /* read */
-    {&vop_write_desc, afs_nbsd_write}, /* write */
-    {&vop_ioctl_desc, afs_nbsd_ioctl}, /* XXX ioctl */
-    {&vop_select_desc, afs_nbsd_select},       /* select */
-    {&vop_fsync_desc, afs_nbsd_fsync}, /* fsync */
+    {&vop_read_desc, afs_nbsd_read},           /* read */
+    {&vop_write_desc, afs_nbsd_write},         /* write */
+    {&vop_ioctl_desc, afs_nbsd_ioctl},         /* XXX ioctl */
+#ifdef AFS_OBSD35_ENV
+    {&vop_poll_desc, seltrue},                 /* select */
+#else
+    {&vop_select_desc, seltrue},               /* select */
+#endif
+    {&vop_fsync_desc, afs_nbsd_fsync},         /* fsync */
     {&vop_remove_desc, afs_nbsd_remove},       /* remove */
-    {&vop_link_desc, afs_nbsd_link},   /* link */
+    {&vop_link_desc, afs_nbsd_link},           /* link */
     {&vop_rename_desc, afs_nbsd_rename},       /* rename */
-    {&vop_mkdir_desc, afs_nbsd_mkdir}, /* mkdir */
-    {&vop_rmdir_desc, afs_nbsd_rmdir}, /* rmdir */
+    {&vop_mkdir_desc, afs_nbsd_mkdir},         /* mkdir */
+    {&vop_rmdir_desc, afs_nbsd_rmdir},         /* rmdir */
     {&vop_symlink_desc, afs_nbsd_symlink},     /* symlink */
     {&vop_readdir_desc, afs_nbsd_readdir},     /* readdir */
     {&vop_readlink_desc, afs_nbsd_readlink},   /* readlink */
     {&vop_abortop_desc, vop_generic_abortop},  /* abortop */
     {&vop_inactive_desc, afs_nbsd_inactive},   /* inactive */
     {&vop_reclaim_desc, afs_nbsd_reclaim},     /* reclaim */
-    {&vop_lock_desc, afs_nbsd_lock},   /* lock */
+    {&vop_lock_desc, afs_nbsd_lock},           /* lock */
     {&vop_unlock_desc, afs_nbsd_unlock},       /* unlock */
-    {&vop_bmap_desc, afs_nbsd_bmap},   /* bmap */
+    {&vop_bmap_desc, afs_nbsd_bmap},           /* bmap */
     {&vop_strategy_desc, afs_nbsd_strategy},   /* strategy */
-    {&vop_print_desc, afs_nbsd_print}, /* print */
+    {&vop_print_desc, afs_nbsd_print},         /* print */
     {&vop_islocked_desc, afs_nbsd_islocked},   /* islocked */
     {&vop_pathconf_desc, afs_nbsd_pathconf},   /* pathconf */
     {&vop_advlock_desc, afs_nbsd_advlock},     /* advlock */
@@ -516,23 +519,6 @@ afs_nbsd_ioctl(ap)
     return code;
 }
 
-/* ARGSUSED */
-int
-afs_nbsd_select(ap)
-     struct vop_select_args    /* {
-                                * struct vnode *a_vp;
-                                * int  a_which;
-                                * int  a_fflags;
-                                * struct ucred *a_cred;
-                                * struct proc *a_p;
-                                * } */ *ap;
-{
-    /*
-     * We should really check to see if I/O is possible.
-     */
-    return (1);
-}
-
 int
 afs_nbsd_fsync(ap)
      struct vop_fsync_args     /* {