Lines Matching refs:fd
194 get_file_size(int fd) in get_file_size() argument
197 if (fstat(fd, &st) < 0) in get_file_size()
213 static int lock(int fd, int type) in lock() argument
219 ret = flock(fd, type | LOCK_NB); in lock()
240 int fd; in get_seg_memfd() local
248 fd = fd_list[list_idx].memseg_list_fd; in get_seg_memfd()
250 if (fd < 0) { in get_seg_memfd()
252 fd = memfd_create(segname, flags); in get_seg_memfd()
253 if (fd < 0) { in get_seg_memfd()
258 fd_list[list_idx].memseg_list_fd = fd; in get_seg_memfd()
261 fd = fd_list[list_idx].fds[seg_idx]; in get_seg_memfd()
263 if (fd < 0) { in get_seg_memfd()
266 fd = memfd_create(segname, flags); in get_seg_memfd()
267 if (fd < 0) { in get_seg_memfd()
272 fd_list[list_idx].fds[seg_idx] = fd; in get_seg_memfd()
275 return fd; in get_seg_memfd()
285 int fd; in get_seg_fd() local
309 fd = *out_fd; in get_seg_fd()
310 if (fd >= 0) in get_seg_fd()
311 return fd; in get_seg_fd()
352 fd = open(path, O_CREAT | O_RDWR, 0600); in get_seg_fd()
353 if (fd < 0) { in get_seg_fd()
359 if (lock(fd, LOCK_SH) < 0) { in get_seg_fd()
362 close(fd); in get_seg_fd()
365 *out_fd = fd; in get_seg_fd()
366 return fd; in get_seg_fd()
370 resize_hugefile_in_memory(int fd, uint64_t fa_offset, in resize_hugefile_in_memory() argument
378 ret = fallocate(fd, flags, fa_offset, page_sz); in resize_hugefile_in_memory()
390 resize_hugefile_in_filesystem(int fd, uint64_t fa_offset, uint64_t page_sz, in resize_hugefile_in_filesystem() argument
410 uint64_t cur_size = get_file_size(fd); in resize_hugefile_in_filesystem()
416 ftruncate(fd, new_size) < 0) { in resize_hugefile_in_filesystem()
442 ret = fallocate(fd, flags, fa_offset, page_sz); in resize_hugefile_in_filesystem()
475 close_hugefile(int fd, char *path, int list_idx) in close_hugefile() argument
489 close(fd); in close_hugefile()
494 resize_hugefile(int fd, uint64_t fa_offset, uint64_t page_sz, bool grow, in resize_hugefile() argument
506 return resize_hugefile_in_memory(fd, fa_offset, in resize_hugefile()
510 return resize_hugefile_in_filesystem(fd, fa_offset, page_sz, in resize_hugefile()
527 int fd; in alloc_seg() local
557 fd = -1; in alloc_seg()
569 fd = get_seg_fd(path, sizeof(path), hi, list_idx, seg_idx, in alloc_seg()
571 if (fd < 0) { in alloc_seg()
578 ret = resize_hugefile(fd, map_offset, alloc_sz, true, in alloc_seg()
586 if (ftruncate(fd, alloc_sz) < 0) { in alloc_seg()
609 va = mmap(addr, alloc_sz, PROT_READ | PROT_WRITE, mmap_flags, fd, in alloc_seg()
713 if (fd < 0) in alloc_seg()
717 resize_hugefile(fd, map_offset, alloc_sz, false, NULL); in alloc_seg()
722 close_hugefile(fd, path, list_idx); in alloc_seg()
727 lock(fd, LOCK_EX) == 1) in alloc_seg()
729 close(fd); in alloc_seg()
741 int fd, ret = 0; in free_seg() local
767 fd = get_seg_fd(path, sizeof(path), hi, list_idx, seg_idx, NULL); in free_seg()
768 if (fd < 0) in free_seg()
773 if (resize_hugefile(fd, map_offset, ms->len, false, NULL)) in free_seg()
777 close_hugefile(fd, path, list_idx); in free_seg()
787 ret = lock(fd, LOCK_EX); in free_seg()
795 close(fd); in free_seg()
1583 eal_memalloc_set_seg_fd(int list_idx, int seg_idx, int fd) in eal_memalloc_set_seg_fd() argument
1600 fd_list[list_idx].fds[seg_idx] = fd; in eal_memalloc_set_seg_fd()
1606 eal_memalloc_set_seg_list_fd(int list_idx, int fd) in eal_memalloc_set_seg_list_fd() argument
1615 fd_list[list_idx].memseg_list_fd = fd; in eal_memalloc_set_seg_list_fd()
1623 int fd; in eal_memalloc_get_seg_fd() local
1638 fd = fd_list[list_idx].memseg_list_fd; in eal_memalloc_get_seg_fd()
1641 fd = -1; in eal_memalloc_get_seg_fd()
1643 fd = fd_list[list_idx].fds[seg_idx]; in eal_memalloc_get_seg_fd()
1645 if (fd < 0) in eal_memalloc_get_seg_fd()
1647 return fd; in eal_memalloc_get_seg_fd()
1663 int fd = memfd_create("test", flags); in test_memfd_create() local
1664 if (fd < 0) { in test_memfd_create()
1674 close(fd); in test_memfd_create()