Lines Matching refs:c

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