src.ctf.fs: remove ctf_fs_ds_file::end_reached field
[babeltrace.git] / src / plugins / ctf / fs-src / data-stream-file.c
index 94fe42ac1ab73a3e2baa7b84d1e736556b3e532f..078e8b5fccd10d10568ddf83c19e975dbced54cc 100644 (file)
@@ -143,9 +143,7 @@ enum ctf_msg_iter_medium_status medop_request_bytes(
        bt_self_component *self_comp = ds_file->self_comp;
        bt_logging_level log_level = ds_file->log_level;
 
-       if (request_sz == 0) {
-               goto end;
-       }
+       BT_ASSERT(request_sz > 0);
 
        /*
         * Check if we have at least one memory-mapped byte left. If we don't,
@@ -174,9 +172,12 @@ enum ctf_msg_iter_medium_status medop_request_bytes(
                }
        }
 
+       BT_ASSERT(remaining_mmap_bytes(ds_file) > 0);
        *buffer_sz = MIN(remaining_mmap_bytes(ds_file), request_sz);
+
        BT_ASSERT(ds_file->mmap_addr);
        *buffer_addr = ((uint8_t *) ds_file->mmap_addr) + ds_file->request_offset_in_mapping;
+
        ds_file->request_offset_in_mapping += *buffer_sz;
        goto end;
 
@@ -213,8 +214,7 @@ end:
 }
 
 static
-enum ctf_msg_iter_medium_status medop_seek(enum ctf_msg_iter_seek_whence whence,
-               off_t offset, void *data)
+enum ctf_msg_iter_medium_status medop_seek(off_t offset, void *data)
 {
        enum ctf_msg_iter_medium_status status;
        struct ctf_fs_ds_file *ds_file = data;
@@ -222,14 +222,8 @@ enum ctf_msg_iter_medium_status medop_seek(enum ctf_msg_iter_seek_whence whence,
        bt_self_component *self_comp = ds_file->self_comp;
        bt_logging_level log_level = ds_file->log_level;
 
-       if (whence != CTF_MSG_ITER_SEEK_WHENCE_SET ||
-               offset < 0 || offset > file_size) {
-               BT_COMP_LOGE("Invalid medium seek request: whence=%d, offset=%jd, "
-                               "file-size=%jd", (int) whence, (intmax_t) offset,
-                               (intmax_t) file_size);
-               status = CTF_MSG_ITER_MEDIUM_STATUS_INVAL;
-               goto end;
-       }
+       BT_ASSERT(offset >= 0);
+       BT_ASSERT(offset < file_size);
 
        /* If there is no current mapping, map the right file directly. */
        if (!ds_file->mmap_addr) {
@@ -253,7 +247,8 @@ enum ctf_msg_iter_medium_status medop_seek(enum ctf_msg_iter_seek_whence whence,
                goto map_requested_offset;
        } else {
                ds_file->request_offset_in_mapping = offset - ds_file->mmap_offset_in_file;
-               goto test_end;
+               status = CTF_MSG_ITER_MEDIUM_STATUS_OK;
+               goto end;
        }
 
 map_requested_offset:
@@ -267,9 +262,6 @@ map_requested_offset:
                goto end;
        }
 
-test_end:
-       ds_file->end_reached = (offset == file_size);
-
        status = CTF_MSG_ITER_MEDIUM_STATUS_OK;
 end:
        return status;
This page took 0.024126 seconds and 4 git commands to generate.