Below is the list of changes that have just been committed into a local
maria repository of bell. When bell does a push these changes
will be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2008-03-11 18:12:08+02:00, bell@stripped +1 -0
Fixed statistic calculation.
(BUG#35030 maria_pagecache_read* status
variables updated at wrong moment)
storage/maria/ma_pagecache.c@stripped, 2008-03-11 18:12:05+02:00, bell@stripped +4 -1
Fixed statistic calculation.
diff -Nrup a/storage/maria/ma_pagecache.c b/storage/maria/ma_pagecache.c
--- a/storage/maria/ma_pagecache.c 2008-03-05 10:40:49 +02:00
+++ b/storage/maria/ma_pagecache.c 2008-03-11 18:12:05 +02:00
@@ -2093,7 +2093,6 @@ restart:
PAGE_READ : PAGE_WAIT_TO_BE_READ);
}
}
- pagecache->global_cache_read++;
}
else
{
@@ -2592,6 +2591,7 @@ static void read_block(PAGECACHE *pageca
DBUG_PRINT("read_block",
("page to be read by primary request"));
+ pagecache->global_cache_read++;
/* Page is not in buffer yet, is to be read from disk */
pagecache_pthread_mutex_unlock(&pagecache->cache_lock);
/*
@@ -3852,11 +3852,14 @@ no_key_cache:
/* Key cache is not used */
if (write_mode == PAGECACHE_WRITE_DELAY)
{
+ /* We can't use mutex here as the key cache may not be initialized */
pagecache->global_cache_w_requests++;
pagecache->global_cache_write++;
if (offset != 0 || size != pagecache->block_size)
{
uchar *page_buffer= (uchar *) alloca(pagecache->block_size);
+
+ pagecache->global_cache_read++;
if ((error= pagecache_fread(pagecache, file,
page_buffer,
pageno,