diff options
author | acurtis/antony@ltamd64.xiphis.org <> | 2007-06-06 12:00:35 -0700 |
---|---|---|
committer | acurtis/antony@ltamd64.xiphis.org <> | 2007-06-06 12:00:35 -0700 |
commit | 5a7f1f8a682a84ad0864ab2e57a60352998e3fd3 (patch) | |
tree | e87a15d7d4048aa527ebee9347e15645274aa014 /mysys | |
parent | 13adcedc90cbd18c3395e4158a036343be7659f0 (diff) | |
parent | 83acfa8e8714a149e7f7d4413db309a9c797be64 (diff) | |
download | mariadb-git-5a7f1f8a682a84ad0864ab2e57a60352998e3fd3.tar.gz |
Merge xiphis.org:/home/antony/work2/mysql-5.1-engines
into xiphis.org:/home/antony/work2/mysql-5.1-engines.merge
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/mf_keycache.c | 11 | ||||
-rw-r--r-- | mysys/my_seek.c | 1 |
2 files changed, 6 insertions, 6 deletions
diff --git a/mysys/mf_keycache.c b/mysys/mf_keycache.c index 4c98882ac7e..44e03fdee63 100644 --- a/mysys/mf_keycache.c +++ b/mysys/mf_keycache.c @@ -234,7 +234,7 @@ static void test_key_cache(KEY_CACHE *keycache, #endif #define KEYCACHE_HASH(f, pos) \ -(((ulong) ((pos) >> keycache->key_cache_shift)+ \ +(((ulong) ((pos) / keycache->key_cache_block_size) + \ (ulong) (f)) & (keycache->hash_entries-1)) #define FILE_HASH(f) ((uint) (f) & (CHANGED_BLOCKS_HASH-1)) @@ -399,7 +399,6 @@ int init_key_cache(KEY_CACHE *keycache, uint key_cache_block_size, keycache->key_cache_mem_size= use_mem; keycache->key_cache_block_size= key_cache_block_size; - keycache->key_cache_shift= my_bit_log2(key_cache_block_size); DBUG_PRINT("info", ("key_cache_block_size: %u", key_cache_block_size)); @@ -422,7 +421,7 @@ int init_key_cache(KEY_CACHE *keycache, uint key_cache_block_size, ALIGN_SIZE(hash_links * sizeof(HASH_LINK)) + ALIGN_SIZE(sizeof(HASH_LINK*) * keycache->hash_entries))) + - ((ulong) blocks << keycache->key_cache_shift) > use_mem) + ((ulong) blocks * keycache->key_cache_block_size) > use_mem) blocks--; /* Allocate memory for cache page buffers */ if ((keycache->block_mem= @@ -2558,7 +2557,7 @@ uchar *key_cache_read(KEY_CACHE *keycache, inc_counter_for_resize_op(keycache); locked_and_incremented= TRUE; /* Requested data may not always be aligned to cache blocks. */ - offset= (uint) (filepos & (keycache->key_cache_block_size-1)); + offset= (uint) (filepos % keycache->key_cache_block_size); /* Read data in key_cache_block_size increments */ do { @@ -2756,7 +2755,7 @@ int key_cache_insert(KEY_CACHE *keycache, inc_counter_for_resize_op(keycache); locked_and_incremented= TRUE; /* Loaded data may not always be aligned to cache blocks. */ - offset= (uint) (filepos & (keycache->key_cache_block_size-1)); + offset= (uint) (filepos % keycache->key_cache_block_size); /* Load data in key_cache_block_size increments. */ do { @@ -3030,7 +3029,7 @@ int key_cache_write(KEY_CACHE *keycache, inc_counter_for_resize_op(keycache); locked_and_incremented= TRUE; /* Requested data may not always be aligned to cache blocks. */ - offset= (uint) (filepos & (keycache->key_cache_block_size-1)); + offset= (uint) (filepos % keycache->key_cache_block_size); /* Write data in key_cache_block_size increments. */ do { diff --git a/mysys/my_seek.c b/mysys/my_seek.c index 0d30ba203ae..2c661baeff7 100644 --- a/mysys/my_seek.c +++ b/mysys/my_seek.c @@ -88,6 +88,7 @@ my_off_t my_tell(File fd, myf MyFlags __attribute__((unused))) os_off_t pos; DBUG_ENTER("my_tell"); DBUG_PRINT("my",("Fd: %d MyFlags: %d",fd, MyFlags)); + DBUG_ASSERT(fd >= 0); #ifdef HAVE_TELL pos=tell(fd); #else |