diff options
author | jhb <jhb@FreeBSD.org> | 2006-01-06 16:34:22 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2006-01-06 16:34:22 +0000 |
commit | 0beb1bf77b0408ab7b2210a0f1b220e2d7ff8a6d (patch) | |
tree | 7df3112906e6324fb2f9c0f05b946e9ebda5f551 | |
parent | e851a1b52aa81242bee0ce1da1d3d2172f0e670d (diff) | |
download | FreeBSD-src-0beb1bf77b0408ab7b2210a0f1b220e2d7ff8a6d.zip FreeBSD-src-0beb1bf77b0408ab7b2210a0f1b220e2d7ff8a6d.tar.gz |
Return error from fget_write() rather than hardcoding EBADF now that
fget_write() DTRT.
Requested by: bde
-rw-r--r-- | sys/kern/sys_generic.c | 4 | ||||
-rw-r--r-- | sys/kern/vfs_aio.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c index 43d2758..e8cb5e9 100644 --- a/sys/kern/sys_generic.c +++ b/sys/kern/sys_generic.c @@ -398,7 +398,7 @@ kern_writev(struct thread *td, int fd, struct uio *auio) error = fget_write(td, fd, &fp); if (error) - return (EBADF); + return (error); error = dofilewrite(td, fd, fp, auio, (off_t)-1, 0); fdrop(fp, td); return (error); @@ -444,7 +444,7 @@ kern_pwritev(td, fd, auio, offset) error = fget_write(td, fd, &fp); if (error) - return (EBADF); + return (error); if (!(fp->f_ops->fo_flags & DFLAG_SEEKABLE)) error = ESPIPE; else if (offset < 0 && fp->f_vnode->v_type != VCHR) diff --git a/sys/kern/vfs_aio.c b/sys/kern/vfs_aio.c index 3ead26f..5466959 100644 --- a/sys/kern/vfs_aio.c +++ b/sys/kern/vfs_aio.c @@ -1447,7 +1447,7 @@ _aio_aqueue(struct thread *td, struct aiocb *job, struct aio_liojob *lj, uma_zfree(aiocb_zone, aiocbe); if (type == 0) suword(&job->_aiocb_private.error, EBADF); - return (EBADF); + return (error); } aiocbe->fd_file = fp; |