svn commit: r273118 - head/sys/kern
Mateusz Guzik
mjg at FreeBSD.org
Wed Oct 15 05:17:36 UTC 2014
Author: mjg
Date: Wed Oct 15 05:17:36 2014
New Revision: 273118
URL: https://svnweb.freebsd.org/changeset/base/273118
Log:
Don't take devmtx unnecessarily in vn_isdisk.
MFC after: 1 week
Modified:
head/sys/kern/vfs_subr.c
Modified: head/sys/kern/vfs_subr.c
==============================================================================
--- head/sys/kern/vfs_subr.c Wed Oct 15 04:34:07 2014 (r273117)
+++ head/sys/kern/vfs_subr.c Wed Oct 15 05:17:36 2014 (r273118)
@@ -3775,17 +3775,20 @@ vn_isdisk(struct vnode *vp, int *errp)
{
int error;
+ if (vp->v_type != VCHR) {
+ error = ENOTBLK;
+ goto out;
+ }
error = 0;
dev_lock();
- if (vp->v_type != VCHR)
- error = ENOTBLK;
- else if (vp->v_rdev == NULL)
+ if (vp->v_rdev == NULL)
error = ENXIO;
else if (vp->v_rdev->si_devsw == NULL)
error = ENXIO;
else if (!(vp->v_rdev->si_devsw->d_flags & D_DISK))
error = ENOTBLK;
dev_unlock();
+out:
if (errp != NULL)
*errp = error;
return (error == 0);
More information about the svn-src-head
mailing list