devfs: plug redundant bwillwrite avoidance
vn_write already checks for vnode type to see if bwillwrite should be called. This effectively reverts r244643. Reviewed by: kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D21905
This commit is contained in:
parent
efd86141b4
commit
28f9e44110
@ -1137,7 +1137,6 @@ devfs_open(struct vop_open_args *ap)
|
||||
int error, ref, vlocked;
|
||||
struct cdevsw *dsw;
|
||||
struct file *fpop;
|
||||
struct mtx *mtxp;
|
||||
|
||||
if (vp->v_type == VBLK)
|
||||
return (ENXIO);
|
||||
@ -1191,16 +1190,6 @@ devfs_open(struct vop_open_args *ap)
|
||||
#endif
|
||||
if (fp->f_ops == &badfileops)
|
||||
finit(fp, fp->f_flag, DTYPE_VNODE, dev, &devfs_ops_f);
|
||||
mtxp = mtx_pool_find(mtxpool_sleep, fp);
|
||||
|
||||
/*
|
||||
* Hint to the dofilewrite() to not force the buffer draining
|
||||
* on the writer to the file. Most likely, the write would
|
||||
* not need normal buffers.
|
||||
*/
|
||||
mtx_lock(mtxp);
|
||||
fp->f_vnread_flags |= FDEVFS_VNODE;
|
||||
mtx_unlock(mtxp);
|
||||
return (error);
|
||||
}
|
||||
|
||||
|
@ -561,9 +561,6 @@ dofilewrite(struct thread *td, int fd, struct file *fp, struct uio *auio,
|
||||
ktruio = cloneuio(auio);
|
||||
#endif
|
||||
cnt = auio->uio_resid;
|
||||
if (fp->f_type == DTYPE_VNODE &&
|
||||
(fp->f_vnread_flags & FDEVFS_VNODE) == 0)
|
||||
bwillwrite();
|
||||
if ((error = fo_write(fp, auio, td->td_ucred, flags, td))) {
|
||||
if (auio->uio_resid != cnt && (error == ERESTART ||
|
||||
error == EINTR || error == EWOULDBLOCK))
|
||||
|
@ -208,7 +208,6 @@ struct file {
|
||||
|
||||
#define FOFFSET_LOCKED 0x1
|
||||
#define FOFFSET_LOCK_WAITING 0x2
|
||||
#define FDEVFS_VNODE 0x4
|
||||
|
||||
#endif /* _KERNEL || _WANT_FILE */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user