Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/kern_sendfile.c
Show First 20 Lines • Show All 51 Lines • ▼ Show 20 Lines | |||||
#include <sys/syscallsubr.h> | #include <sys/syscallsubr.h> | ||||
#include <sys/sysctl.h> | #include <sys/sysctl.h> | ||||
#include <sys/sysproto.h> | #include <sys/sysproto.h> | ||||
#include <sys/vnode.h> | #include <sys/vnode.h> | ||||
#include <net/vnet.h> | #include <net/vnet.h> | ||||
#include <netinet/in.h> | #include <netinet/in.h> | ||||
#include <netinet/tcp.h> | #include <netinet/tcp.h> | ||||
#include <netinet/in_pcb.h> | |||||
#include <netinet/tcp_var.h> | |||||
#include <netinet/tcp_log_buf.h> | |||||
#include <security/audit/audit.h> | #include <security/audit/audit.h> | ||||
#include <security/mac/mac_framework.h> | #include <security/mac/mac_framework.h> | ||||
#include <vm/vm.h> | #include <vm/vm.h> | ||||
#include <vm/vm_object.h> | #include <vm/vm_object.h> | ||||
#include <vm/vm_pager.h> | #include <vm/vm_pager.h> | ||||
▲ Show 20 Lines • Show All 1,115 Lines • ▼ Show 20 Lines | #endif | ||||
} else { | } else { | ||||
sfio->so = so; | sfio->so = so; | ||||
sfio->m = m0; | sfio->m = m0; | ||||
soref(so); | soref(so); | ||||
error = so->so_proto->pr_send(so, PRUS_NOTREADY, m, | error = so->so_proto->pr_send(so, PRUS_NOTREADY, m, | ||||
NULL, NULL, td); | NULL, NULL, td); | ||||
sendfile_iodone(sfio, NULL, 0, error); | sendfile_iodone(sfio, NULL, 0, error); | ||||
} | } | ||||
#ifdef TCP_REQUEST_TRK | |||||
if (so->so_proto->pr_protocol == IPPROTO_TCP) { | |||||
/* log the sendfile call to the TCP log, if enabled */ | |||||
tcp_log_sendfile(so, offset, nbytes, flags); | |||||
} | |||||
#endif | |||||
CURVNET_RESTORE(); | CURVNET_RESTORE(); | ||||
m = NULL; | m = NULL; | ||||
if (error) | if (error) | ||||
goto done; | goto done; | ||||
sbytes += space + hdrlen; | sbytes += space + hdrlen; | ||||
if (hdrlen) | if (hdrlen) | ||||
hdrlen = 0; | hdrlen = 0; | ||||
▲ Show 20 Lines • Show All 168 Lines • Show Last 20 Lines |