Lines Matching refs:c

34 	chunk *c;
36 for(c = cq->first; (max_bytes > 0) && (NULL != c); c = c->next) {
39 switch(c->type) {
72 …for (num_chunks = 0, tc = c; tc && tc->type == MEM_CHUNK && num_chunks < max_chunks; num_chunks++,…
76 for(tc = c, i = 0; i < num_chunks; tc = tc->next, i++) {
125 for(i = 0, tc = c; i < num_chunks; i++, tc = tc->next) {
133 c = c->next;
163 if (HANDLER_ERROR == stat_cache_get_entry(srv, con, c->file.name, &sce)) {
165 strerror(errno), c->file.name);
169 abs_offset = c->file.start + c->offset;
173 "file was shrinked:", c->file.name);
181 if (c->file.mmap.start == MAP_FAILED ||
182 abs_offset == (off_t)(c->file.mmap.offset + c->file.mmap.length)) {
210 if (c->file.mmap.start != MAP_FAILED) {
211 munmap(c->file.mmap.start, c->file.mmap.length);
212 c->file.mmap.offset += we_want_to_mmap;
215 c->file.mmap.offset = 0;
217 while (c->file.mmap.offset + we_want_to_mmap < c->file.start) {
218 c->file.mmap.offset += we_want_to_mmap;
223 we_want_to_send = c->file.length - c->offset;
224 to_mmap = (c->file.start + c->file.length) - c->file.mmap.offset;
227 if (abs_offset + we_want_to_send > c->file.mmap.offset + we_want_to_mmap) {
228 we_want_to_send = (c->file.mmap.offset + we_want_to_mmap) - abs_offset;
232 if (-1 == c->file.fd) { /* open the file if not already open */
233 if (-1 == (c->file.fd = open(c->file.name->ptr, O_RDONLY))) {
234 …log_error_write(srv, __FILE__, __LINE__, "sbs", "open failed for:", c->file.name, strerror(errno));
239 fcntl(c->file.fd, F_SETFD, FD_CLOEXEC);
243 …if (MAP_FAILED == (c->file.mmap.start = mmap(NULL, to_mmap, PROT_READ, MAP_SHARED, c->file.fd, c->…
247 strerror(errno), c->file.name, c->file.fd);
252 c->file.mmap.length = to_mmap;
254 buffer_copy_string_len(c->mem, c->file.mmap.start, c->file.mmap.length);
258 if (c->file.mmap.length > (64 KByte)) {
263 madvise(c->file.mmap.start, c->file.mmap.length, MADV_WILLNEED);
272 toSend = (c->file.mmap.offset + c->file.mmap.length) - (abs_offset);
278 c->file.mmap.length,
280 c->file.mmap.offset);
287 start = c->mem->ptr;
289 start = c->file.mmap.start;
292 if ((r = mtcp_write(srv->mctx, fd, start + (abs_offset - c->file.mmap.offset), toSend)) < 0) {
309 c->offset += r;
313 if (c->offset == c->file.length) {
317 if (c->file.mmap.start != MAP_FAILED) {
318 munmap(c->file.mmap.start, c->file.mmap.length);
319 c->file.mmap.start = MAP_FAILED;
327 log_error_write(srv, __FILE__, __LINE__, "ds", c, "type not known");
347 chunk *c; in network_write_chunkqueue_mtcp_writev() local
349 for(c = cq->first; (max_bytes > 0) && (NULL != c); c = c->next) { in network_write_chunkqueue_mtcp_writev()
352 switch(c->type) { in network_write_chunkqueue_mtcp_writev()
358 if (c->mem->used == 0) { in network_write_chunkqueue_mtcp_writev()
363 offset = c->mem->ptr + c->offset; in network_write_chunkqueue_mtcp_writev()
364 toSend = c->mem->used - 1 - c->offset; in network_write_chunkqueue_mtcp_writev()
393 c->offset += r; in network_write_chunkqueue_mtcp_writev()
397 if (c->offset == (off_t)c->mem->used - 1) { in network_write_chunkqueue_mtcp_writev()
413 if (HANDLER_ERROR == stat_cache_get_entry(srv, con, c->file.name, &sce)) { in network_write_chunkqueue_mtcp_writev()
415 strerror(errno), c->file.name); in network_write_chunkqueue_mtcp_writev()
419 offset = c->file.start + c->offset; in network_write_chunkqueue_mtcp_writev()
420 toSend = c->file.length - c->offset; in network_write_chunkqueue_mtcp_writev()
425 log_error_write(srv, __FILE__, __LINE__, "sb", "file was shrinked:", c->file.name); in network_write_chunkqueue_mtcp_writev()
430 if (-1 == (ifd = open(c->file.name->ptr, O_RDONLY))) { in network_write_chunkqueue_mtcp_writev()
506 c->offset += r; in network_write_chunkqueue_mtcp_writev()
510 if (c->offset == c->file.length) { in network_write_chunkqueue_mtcp_writev()
518 log_error_write(srv, __FILE__, __LINE__, "ds", c, "type not known"); in network_write_chunkqueue_mtcp_writev()