summaryrefslogtreecommitdiffstats
path: root/xlators/performance/read-ahead/src/page.c
diff options
context:
space:
mode:
authorAnand V. Avati <avati@amp.gluster.com>2009-04-11 19:00:45 +0530
committerAnand V. Avati <avati@amp.gluster.com>2009-04-12 11:33:47 +0530
commit795fb95f42697796008e34790e0768929d478a3a (patch)
tree0bcccf78fb2c73cd384245c72647e7eaff0f76aa /xlators/performance/read-ahead/src/page.c
parentc29b1710529fb52724ba37e09ca0f10cd7fcffa8 (diff)
update performance/read-ahead with new readv writev prototypes
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
Diffstat (limited to 'xlators/performance/read-ahead/src/page.c')
-rw-r--r--xlators/performance/read-ahead/src/page.c26
1 files changed, 12 insertions, 14 deletions
diff --git a/xlators/performance/read-ahead/src/page.c b/xlators/performance/read-ahead/src/page.c
index a3506c8f0d1..1a781404940 100644
--- a/xlators/performance/read-ahead/src/page.c
+++ b/xlators/performance/read-ahead/src/page.c
@@ -129,7 +129,7 @@ ra_waitq_return (ra_waitq_t *waitq)
int
ra_fault_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int32_t op_ret, int32_t op_errno, struct iovec *vector,
- int32_t count, struct stat *stbuf)
+ int32_t count, struct stat *stbuf, struct iobref *iobref)
{
ra_local_t *local = NULL;
off_t pending_offset = 0;
@@ -173,13 +173,13 @@ ra_fault_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
}
if (page->vector) {
- dict_unref (page->ref);
+ iobref_unref (page->iobref);
free (page->vector);
}
page->vector = iov_dup (vector, count);
page->count = count;
- page->ref = dict_ref (frame->root->rsp_refs);
+ page->iobref = iobref_ref (iobref);
page->ready = 1;
page->size = iov_length (vector, count);
@@ -266,7 +266,7 @@ ra_frame_fill (ra_page_t *page, call_frame_t *frame)
new->offset = page->offset;
new->size = copy_size;
- new->refs = dict_ref (page->ref);
+ new->iobref = iobref_ref (page->iobref);
new->count = iov_subset (page->vector, page->count,
src_offset, src_offset+copy_size,
NULL);
@@ -294,7 +294,7 @@ ra_frame_unwind (call_frame_t *frame)
int32_t count = 0;
struct iovec *vector;
int32_t copied = 0;
- dict_t *refs = NULL;
+ struct iobref *iobref = NULL;
ra_fill_t *next = NULL;
fd_t *fd = NULL;
ra_file_t *file = NULL;
@@ -304,7 +304,7 @@ ra_frame_unwind (call_frame_t *frame)
local = frame->local;
fill = local->fill.next;
- refs = get_new_dict ();
+ iobref = iobref_new ();
frame->local = NULL;
@@ -324,28 +324,26 @@ ra_frame_unwind (call_frame_t *frame)
fill->count * sizeof (*vector));
copied += (fill->count * sizeof (*vector));
- dict_copy (fill->refs, refs);
+ iobref_merge (iobref, fill->iobref);
fill->next->prev = fill->prev;
fill->prev->next = fill->prev;
- dict_unref (fill->refs);
+ iobref_unref (fill->iobref);
free (fill->vector);
free (fill);
fill = next;
}
- frame->root->rsp_refs = dict_ref (refs);
-
fd = local->fd;
ret = fd_ctx_get (fd, frame->this, &tmp_file);
file = (ra_file_t *)(long)tmp_file;
STACK_UNWIND (frame, local->op_ret, local->op_errno,
- vector, count, &file->stbuf);
+ vector, count, &file->stbuf, iobref);
- dict_unref (refs);
+ iobref_unref (iobref);
pthread_mutex_destroy (&local->local_lock);
free (local);
free (vector);
@@ -413,8 +411,8 @@ ra_page_purge (ra_page_t *page)
page->prev->next = page->next;
page->next->prev = page->prev;
- if (page->ref) {
- dict_unref (page->ref);
+ if (page->iobref) {
+ iobref_unref (page->iobref);
}
free (page->vector);
free (page);