X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Findex%2Findex.c;h=2946f7bab3335e5456d9628d9e0a3c6707e0eca6;hp=89b4fd769eab98a49137fb08087388caec4469e4;hb=50adc26400482c07210afcda8ef1d3322f75871d;hpb=1c20f0e29cbf8627bfb1ff444572d52d6655c4e2 diff --git a/src/common/index/index.c b/src/common/index/index.c index 89b4fd769..2946f7bab 100644 --- a/src/common/index/index.c +++ b/src/common/index/index.c @@ -35,7 +35,8 @@ int index_create_file(char *path_name, char *stream_name, int uid, int gid, uint64_t size, uint64_t count) { int ret, fd = -1; - struct lttng_packet_index_file_hdr hdr; + ssize_t size_ret; + struct ctf_packet_index_file_hdr hdr; char fullpath[PATH_MAX]; ret = snprintf(fullpath, sizeof(fullpath), "%s/" DEFAULT_INDEX_DIR, @@ -61,15 +62,15 @@ int index_create_file(char *path_name, char *stream_name, int uid, int gid, } fd = ret; - memcpy(hdr.magic, INDEX_MAGIC, sizeof(hdr.magic)); - hdr.index_major = htobe32(INDEX_MAJOR); - hdr.index_minor = htobe32(INDEX_MINOR); + hdr.magic = htobe32(CTF_INDEX_MAGIC); + hdr.index_major = htobe32(CTF_INDEX_MAJOR); + hdr.index_minor = htobe32(CTF_INDEX_MINOR); + hdr.packet_index_len = sizeof(struct ctf_packet_index); - do { - ret = write(fd, &hdr, sizeof(hdr)); - } while (ret < 0 && errno == EINTR); - if (ret < 0) { + size_ret = lttng_write(fd, &hdr, sizeof(hdr)); + if (size_ret < sizeof(hdr)) { PERROR("write index header"); + ret = -1; goto error; } @@ -90,19 +91,18 @@ error: /* * Write index values to the given fd of size len. * - * Return 0 on success or else a negative value on error. + * Return "len" on success or else < len on error. errno contains error + * details. */ -int index_write(int fd, struct lttng_packet_index *index, size_t len) +ssize_t index_write(int fd, struct ctf_packet_index *index, size_t len) { - int ret; + ssize_t ret; assert(fd >= 0); assert(index); - do { - ret = write(fd, index, len); - } while (ret < 0 && errno == EINTR); - if (ret < 0) { + ret = lttng_write(fd, index, len); + if (ret < len) { PERROR("writing index file"); }