Author: trasz
Date: Mon Feb 20 16:18:33 2017
New Revision: 313994
URL: https://svnweb.freebsd.org/changeset/base/313994

Log:
  Simplify devfs_fsync() by removing it. This might also be a minor
  optimization, as vn_isdisk() needs to lock a global mutex.
  
  Reviewed by:  imp
  Tested by:    pho
  MFC after:    2 weeks
  Sponsored by: DARPA, AFRL
  Differential Revision:        https://reviews.freebsd.org/D9628

Modified:
  head/sys/fs/devfs/devfs_vnops.c

Modified: head/sys/fs/devfs/devfs_vnops.c
==============================================================================
--- head/sys/fs/devfs/devfs_vnops.c     Mon Feb 20 16:13:40 2017        
(r313993)
+++ head/sys/fs/devfs/devfs_vnops.c     Mon Feb 20 16:18:33 2017        
(r313994)
@@ -677,32 +677,6 @@ devfs_close_f(struct file *fp, struct th
 }
 
 static int
-devfs_fsync(struct vop_fsync_args *ap)
-{
-       int error;
-       struct bufobj *bo;
-       struct devfs_dirent *de;
-
-       if (!vn_isdisk(ap->a_vp, &error)) {
-               bo = &ap->a_vp->v_bufobj;
-               de = ap->a_vp->v_data;
-               if (error == ENXIO && bo->bo_dirty.bv_cnt > 0) {
-                       printf("Device %s went missing before all of the data "
-                           "could be written to it; expect data loss.\n",
-                           de->de_dirent->d_name);
-
-                       error = vop_stdfsync(ap);
-                       if (bo->bo_dirty.bv_cnt != 0 || error != 0)
-                               printf("devfs_fsync: vop_stdfsync failed.");
-               }
-
-               return (0);
-       }
-
-       return (vop_stdfsync(ap));
-}
-
-static int
 devfs_getattr(struct vop_getattr_args *ap)
 {
        struct vnode *vp = ap->a_vp;
@@ -1912,7 +1886,7 @@ static struct vop_vector devfs_specops =
        .vop_bmap =             VOP_PANIC,
        .vop_close =            devfs_close,
        .vop_create =           VOP_PANIC,
-       .vop_fsync =            devfs_fsync,
+       .vop_fsync =            vop_stdfsync,
        .vop_getattr =          devfs_getattr,
        .vop_ioctl =            devfs_ioctl,
        .vop_link =             VOP_PANIC,
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to