summaryrefslogtreecommitdiffstats
path: root/xlators/performance/read-ahead/src/page.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/performance/read-ahead/src/page.c')
-rw-r--r--xlators/performance/read-ahead/src/page.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/xlators/performance/read-ahead/src/page.c b/xlators/performance/read-ahead/src/page.c
index c4071393c95..8a58ad8bb7a 100644
--- a/xlators/performance/read-ahead/src/page.c
+++ b/xlators/performance/read-ahead/src/page.c
@@ -8,10 +8,10 @@
cases as published by the Free Software Foundation.
*/
-#include "glusterfs.h"
-#include "logging.h"
-#include "dict.h"
-#include "xlator.h"
+#include <glusterfs/glusterfs.h>
+#include <glusterfs/logging.h>
+#include <glusterfs/dict.h>
+#include <glusterfs/xlator.h>
#include "read-ahead.h"
#include <assert.h>
#include "read-ahead-messages.h"
@@ -25,7 +25,7 @@ ra_page_get(ra_file_t *file, off_t offset)
GF_VALIDATE_OR_GOTO("read-ahead", file, out);
page = file->pages.next;
- rounded_offset = floor(offset, file->page_size);
+ rounded_offset = gf_floor(offset, file->page_size);
while (page != &file->pages && page->offset < rounded_offset)
page = page->next;
@@ -47,7 +47,7 @@ ra_page_create(ra_file_t *file, off_t offset)
GF_VALIDATE_OR_GOTO("read-ahead", file, out);
page = file->pages.next;
- rounded_offset = floor(offset, file->page_size);
+ rounded_offset = gf_floor(offset, file->page_size);
while (page != &file->pages && page->offset < rounded_offset)
page = page->next;
@@ -347,19 +347,15 @@ ra_frame_fill(ra_page_t *page, call_frame_t *frame)
new->size = copy_size;
new->iobref = iobref_ref(page->iobref);
new->count = iov_subset(page->vector, page->count, src_offset,
- src_offset + copy_size, NULL);
- new->vector = GF_CALLOC(new->count, sizeof(struct iovec),
- gf_ra_mt_iovec);
- if (new->vector == NULL) {
+ copy_size, &new->vector, 0);
+ if (new->count < 0) {
local->op_ret = -1;
local->op_errno = ENOMEM;
+ iobref_unref(new->iobref);
GF_FREE(new);
goto out;
}
- new->count = iov_subset(page->vector, page->count, src_offset,
- src_offset + copy_size, new->vector);
-
new->next = fill;
new->prev = new->next->prev;
new->next->prev = new;