diff options
author | Chuck Silvers <chs@FreeBSD.org> | 2020-03-04 00:22:50 +0000 |
---|---|---|
committer | Chuck Silvers <chs@FreeBSD.org> | 2020-03-04 00:22:50 +0000 |
commit | 37bf88e790d3e2a9af4349156ac5e85ae7d83e43 (patch) | |
tree | 916499ed4fd90da2377af6cf84c516adf804f24a /sys/kern/kern_sendfile.c | |
parent | 2bde6d4e7289dbf12b3747b24aea39b6e37e0855 (diff) | |
download | src-37bf88e790d3e2a9af4349156ac5e85ae7d83e43.tar.gz src-37bf88e790d3e2a9af4349156ac5e85ae7d83e43.zip |
if vm_pager_get_pages_async() returns an error, release the sfio->nios
refcount that we took earlier that represents the I/O that ended up
not being started.
Reviewed by: glebius
Approved by: imp (mentor)
Sponsored by: Netflix
Notes
Notes:
svn path=/head/; revision=358597
Diffstat (limited to 'sys/kern/kern_sendfile.c')
-rw-r--r-- | sys/kern/kern_sendfile.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/kern_sendfile.c b/sys/kern/kern_sendfile.c index a12f0a1b75e8..b161ae883294 100644 --- a/sys/kern/kern_sendfile.c +++ b/sys/kern/kern_sendfile.c @@ -454,6 +454,7 @@ sendfile_swapin(vm_object_t obj, struct sf_io *sfio, int *nios, off_t off, __func__, pa, j)); vm_page_unwire(pa[j], PQ_INACTIVE); } + refcount_release(&sfio->nios); return (EIO); } |