diff options
-rw-r--r-- | xlators/performance/read-ahead/src/page.c | 47 | ||||
-rw-r--r-- | xlators/performance/read-ahead/src/read-ahead.c | 142 |
2 files changed, 84 insertions, 105 deletions
diff --git a/xlators/performance/read-ahead/src/page.c b/xlators/performance/read-ahead/src/page.c index 1a7814049..f9117dca5 100644 --- a/xlators/performance/read-ahead/src/page.c +++ b/xlators/performance/read-ahead/src/page.c @@ -29,13 +29,11 @@ #include "read-ahead.h" #include <assert.h> - ra_page_t * -ra_page_get (ra_file_t *file, - off_t offset) +ra_page_get (ra_file_t *file, off_t offset) { ra_page_t *page = NULL; - off_t rounded_offset = 0; + off_t rounded_offset = 0; page = file->pages.next; rounded_offset = floor (offset, file->page_size); @@ -53,9 +51,9 @@ ra_page_get (ra_file_t *file, ra_page_t * ra_page_create (ra_file_t *file, off_t offset) { - ra_page_t *page = NULL; + ra_page_t *page = NULL; off_t rounded_offset = 0; - ra_page_t *newpage = NULL; + ra_page_t *newpage = NULL; page = file->pages.next; rounded_offset = floor (offset, file->page_size); @@ -88,7 +86,6 @@ ra_wait_on_page (ra_page_t *page, call_frame_t *frame) ra_waitq_t *waitq = NULL; ra_local_t *local = NULL; - local = frame->local; waitq = CALLOC (1, sizeof (*waitq)); if (!waitq) { @@ -132,15 +129,15 @@ ra_fault_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t count, struct stat *stbuf, struct iobref *iobref) { ra_local_t *local = NULL; - off_t pending_offset = 0; + off_t pending_offset = 0; ra_file_t *file = NULL; ra_page_t *page = NULL; - off_t trav_offset = 0; - size_t payload_size = 0; + off_t trav_offset = 0; + size_t payload_size = 0; ra_waitq_t *waitq = NULL; fd_t *fd = NULL; - int ret = 0; - uint64_t tmp_file = 0; + int ret = 0; + uint64_t tmp_file = 0; local = frame->local; fd = local->fd; @@ -202,9 +199,7 @@ unlock: void -ra_page_fault (ra_file_t *file, - call_frame_t *frame, - off_t offset) +ra_page_fault (ra_file_t *file, call_frame_t *frame, off_t offset) { call_frame_t *fault_frame = NULL; ra_local_t *fault_local = NULL; @@ -230,12 +225,11 @@ ra_frame_fill (ra_page_t *page, call_frame_t *frame) { ra_local_t *local = NULL; ra_fill_t *fill = NULL; - off_t src_offset = 0; - off_t dst_offset = 0; - ssize_t copy_size = 0; + off_t src_offset = 0; + off_t dst_offset = 0; + ssize_t copy_size = 0; ra_fill_t *new = NULL; - local = frame->local; fill = &local->fill; @@ -289,15 +283,15 @@ ra_frame_fill (ra_page_t *page, call_frame_t *frame) void ra_frame_unwind (call_frame_t *frame) { - ra_local_t *local = NULL; - ra_fill_t *fill = NULL; + ra_local_t *local = NULL; + ra_fill_t *fill = NULL; int32_t count = 0; - struct iovec *vector; + struct iovec *vector; int32_t copied = 0; struct iobref *iobref = NULL; - ra_fill_t *next = NULL; - fd_t *fd = NULL; - ra_file_t *file = NULL; + ra_fill_t *next = NULL; + fd_t *fd = NULL; + ra_file_t *file = NULL; int ret = 0; uint64_t tmp_file = 0; @@ -359,7 +353,7 @@ ra_frame_unwind (call_frame_t *frame) void ra_frame_return (call_frame_t *frame) { - ra_local_t *local = NULL; + ra_local_t *local = NULL; int32_t wait_count = 0; local = frame->local; @@ -482,4 +476,3 @@ ra_file_destroy (ra_file_t *file) pthread_mutex_destroy (&file->file_lock); free (file); } - diff --git a/xlators/performance/read-ahead/src/read-ahead.c b/xlators/performance/read-ahead/src/read-ahead.c index 6d015f70b..1346874b8 100644 --- a/xlators/performance/read-ahead/src/read-ahead.c +++ b/xlators/performance/read-ahead/src/read-ahead.c @@ -37,10 +37,8 @@ #include <assert.h> #include <sys/time.h> - static void -read_ahead (call_frame_t *frame, - ra_file_t *file); +read_ahead (call_frame_t *frame, ra_file_t *file); int @@ -60,7 +58,7 @@ ra_open_cbk (call_frame_t *frame, void *cookie, xlator_t *this, file = CALLOC (1, sizeof (*file)); if (!file) { gf_log (this->name, GF_LOG_ERROR, - "out of memory :("); + "out of memory"); goto unwind; } @@ -111,8 +109,8 @@ unwind: int ra_create_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, - fd_t *fd, inode_t *inode, struct stat *buf) + int32_t op_ret, int32_t op_errno, fd_t *fd, inode_t *inode, + struct stat *buf) { ra_conf_t *conf = NULL; ra_file_t *file = NULL; @@ -127,7 +125,7 @@ ra_create_cbk (call_frame_t *frame, void *cookie, xlator_t *this, file = CALLOC (1, sizeof (*file)); if (!file) { gf_log (this->name, GF_LOG_ERROR, - "out of memory :("); + "out of memory"); goto unwind; } @@ -174,8 +172,8 @@ unwind: int -ra_open (call_frame_t *frame, xlator_t *this, - loc_t *loc, int32_t flags, fd_t *fd) +ra_open (call_frame_t *frame, xlator_t *this, loc_t *loc, int32_t flags, + fd_t *fd) { STACK_WIND (frame, ra_open_cbk, FIRST_CHILD (this), @@ -186,8 +184,8 @@ ra_open (call_frame_t *frame, xlator_t *this, } int -ra_create (call_frame_t *frame, xlator_t *this, - loc_t *loc, int32_t flags, mode_t mode, fd_t *fd) +ra_create (call_frame_t *frame, xlator_t *this, loc_t *loc, int32_t flags, + mode_t mode, fd_t *fd) { STACK_WIND (frame, ra_create_cbk, FIRST_CHILD(this), @@ -202,15 +200,11 @@ ra_create (call_frame_t *frame, xlator_t *this, */ static void -flush_region (call_frame_t *frame, - ra_file_t *file, - off_t offset, - off_t size) +flush_region (call_frame_t *frame, ra_file_t *file, off_t offset, off_t size) { ra_page_t *trav = NULL; ra_page_t *next = NULL; - ra_file_lock (file); { trav = file->pages.next; @@ -228,10 +222,8 @@ flush_region (call_frame_t *frame, } - int -ra_release (xlator_t *this, - fd_t *fd) +ra_release (xlator_t *this, fd_t *fd) { uint64_t tmp_file = 0; int ret = 0; @@ -252,7 +244,7 @@ read_ahead (call_frame_t *frame, ra_file_t *file) off_t ra_offset = 0; size_t ra_size = 0; off_t trav_offset = 0; - ra_page_t *trav = NULL; + ra_page_t *trav = NULL; off_t cap = 0; char fault = 0; @@ -328,20 +320,18 @@ ra_need_atime_cbk (call_frame_t *frame, void *cookie, xlator_t *this, static void -dispatch_requests (call_frame_t *frame, - ra_file_t *file) +dispatch_requests (call_frame_t *frame, ra_file_t *file) { - ra_local_t *local = NULL; - ra_conf_t *conf = NULL; + ra_local_t *local = NULL; + ra_conf_t *conf = NULL; off_t rounded_offset = 0; off_t rounded_end = 0; off_t trav_offset = 0; - ra_page_t *trav = NULL; - call_frame_t *ra_frame = NULL; + ra_page_t *trav = NULL; + call_frame_t *ra_frame = NULL; char need_atime_update = 1; char fault = 0; - local = frame->local; conf = file->conf; @@ -408,9 +398,8 @@ dispatch_requests (call_frame_t *frame, int ra_readv_disabled_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, - struct iobref *iobref) + int32_t op_ret, int32_t op_errno, struct iovec *vector, + int32_t count, struct stat *stbuf, struct iobref *iobref) { STACK_UNWIND (frame, op_ret, op_errno, vector, count, stbuf, iobref); @@ -419,16 +408,16 @@ ra_readv_disabled_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int -ra_readv (call_frame_t *frame, xlator_t *this, - fd_t *fd, size_t size, off_t offset) +ra_readv (call_frame_t *frame, xlator_t *this, fd_t *fd, size_t size, + off_t offset) { ra_file_t *file = NULL; ra_local_t *local = NULL; ra_conf_t *conf = NULL; - int op_errno = 0; - int ret = 0; - char expected_offset = 1; - uint64_t tmp_file = 0; + int op_errno = 0; + int ret = 0; + char expected_offset = 1; + uint64_t tmp_file = 0; conf = this->private; @@ -472,7 +461,7 @@ ra_readv (call_frame_t *frame, xlator_t *this, local = (void *) CALLOC (1, sizeof (*local)); if (!local) { gf_log (this->name, GF_LOG_ERROR, - "out of memory :("); + "out of memory"); op_errno = ENOMEM; goto unwind; } @@ -509,10 +498,7 @@ unwind: int -ra_flush_cbk (call_frame_t *frame, - void *cookie, - xlator_t *this, - int32_t op_ret, +ra_flush_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno) { STACK_UNWIND (frame, op_ret, op_errno); @@ -524,8 +510,8 @@ int ra_flush (call_frame_t *frame, xlator_t *this, fd_t *fd) { ra_file_t *file = NULL; - int ret = 0; - uint64_t tmp_file = 0; + int ret = 0; + uint64_t tmp_file = 0; ret = fd_ctx_get (fd, this, &tmp_file); file = (ra_file_t *)(long)tmp_file; @@ -543,12 +529,11 @@ ra_flush (call_frame_t *frame, xlator_t *this, fd_t *fd) int -ra_fsync (call_frame_t *frame, xlator_t *this, fd_t *fd, - int32_t datasync) +ra_fsync (call_frame_t *frame, xlator_t *this, fd_t *fd, int32_t datasync) { ra_file_t *file = NULL; - int ret = 0; - uint64_t tmp_file = 0; + int ret = 0; + uint64_t tmp_file = 0; ret = fd_ctx_get (fd, this, &tmp_file); file = (ra_file_t *)(long)tmp_file; @@ -571,8 +556,8 @@ ra_writev_cbk (call_frame_t *frame, void *cookie, xlator_t *this, { fd_t *fd = NULL; ra_file_t *file = NULL; - int ret = 0; - uint64_t tmp_file = 0; + int ret = 0; + uint64_t tmp_file = 0; fd = frame->local; @@ -590,13 +575,12 @@ ra_writev_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int -ra_writev (call_frame_t *frame, xlator_t *this, fd_t *fd, - struct iovec *vector, int32_t count, off_t offset, - struct iobref *iobref) +ra_writev (call_frame_t *frame, xlator_t *this, fd_t *fd, struct iovec *vector, + int32_t count, off_t offset, struct iobref *iobref) { ra_file_t *file = NULL; - int ret = 0; - uint64_t tmp_file = 0; + int ret = 0; + uint64_t tmp_file = 0; ret = fd_ctx_get (fd, this, &tmp_file); file = (ra_file_t *)(long)tmp_file; @@ -629,14 +613,13 @@ ra_attr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int -ra_truncate (call_frame_t *frame, xlator_t *this, - loc_t *loc, off_t offset) +ra_truncate (call_frame_t *frame, xlator_t *this, loc_t *loc, off_t offset) { ra_file_t *file = NULL; fd_t *iter_fd = NULL; inode_t *inode = NULL; - int ret = 0; - uint64_t tmp_file = 0; + int ret = 0; + uint64_t tmp_file = 0; inode = loc->inode; @@ -663,14 +646,13 @@ ra_truncate (call_frame_t *frame, xlator_t *this, int -ra_fstat (call_frame_t *frame, xlator_t *this, - fd_t *fd) +ra_fstat (call_frame_t *frame, xlator_t *this, fd_t *fd) { ra_file_t *file = NULL; fd_t *iter_fd = NULL; inode_t *inode = NULL; - int ret = 0; - uint64_t tmp_file = 0; + int ret = 0; + uint64_t tmp_file = 0; inode = fd->inode; @@ -697,14 +679,13 @@ ra_fstat (call_frame_t *frame, xlator_t *this, int -ra_fchown (call_frame_t *frame, xlator_t *this, - fd_t *fd, uid_t uid, gid_t gid) +ra_fchown (call_frame_t *frame, xlator_t *this, fd_t *fd, uid_t uid, gid_t gid) { ra_file_t *file = NULL; fd_t *iter_fd = NULL; inode_t *inode = NULL; - int ret = 0; - uint64_t tmp_file = 0; + int ret = 0; + uint64_t tmp_file = 0; inode = fd->inode; @@ -731,14 +712,13 @@ ra_fchown (call_frame_t *frame, xlator_t *this, int -ra_ftruncate (call_frame_t *frame, xlator_t *this, - fd_t *fd, off_t offset) +ra_ftruncate (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset) { ra_file_t *file = NULL; fd_t *iter_fd = NULL; inode_t *inode = NULL; - int ret = 0; - uint64_t tmp_file = 0; + int ret = 0; + uint64_t tmp_file = 0; inode = fd->inode; @@ -767,12 +747,13 @@ int init (xlator_t *this) { ra_conf_t *conf; - dict_t *options = this->options; - char *page_count_string = NULL; + dict_t *options = this->options; + char *page_count_string = NULL; if (!this->children || this->children->next) { gf_log (this->name, GF_LOG_ERROR, - "FATAL: read-ahead not configured with exactly one child"); + "FATAL: read-ahead not configured with exactly one" + " child"); return -1; } @@ -791,11 +772,13 @@ init (xlator_t *this) "page-count")); if (page_count_string) { - if (gf_string2uint_base10 (page_count_string, &conf->page_count) != 0) + if (gf_string2uint_base10 (page_count_string, &conf->page_count) + != 0) { gf_log ("read-ahead", GF_LOG_ERROR, - "invalid number format \"%s\" of \"option page-count\"", + "invalid number format \"%s\" of \"option " + "page-count\"", page_count_string); return -1; } @@ -806,13 +789,16 @@ init (xlator_t *this) if (dict_get (options, "force-atime-update")) { char *force_atime_update_str = data_to_str (dict_get (options, "force-atime-update")); - if (gf_string2boolean (force_atime_update_str, &conf->force_atime_update) == -1) { + if (gf_string2boolean (force_atime_update_str, + &conf->force_atime_update) == -1) { gf_log (this->name, GF_LOG_ERROR, - "'force-atime-update' takes only boolean options"); + "'force-atime-update' takes only boolean " + "options"); return -1; } if (conf->force_atime_update) - gf_log (this->name, GF_LOG_DEBUG, "Forcing atime updates on cache hit"); + gf_log (this->name, GF_LOG_DEBUG, "Forcing atime " + "updates on cache hit"); } conf->files.next = &conf->files; |