#At file:///home/jonas/src/telco-6.2/
2844 Jonas Oreland 2009-02-18
ndb - bug#39096 - fix handling of last extents
modified:
storage/ndb/src/kernel/blocks/print_file.cpp
storage/ndb/src/kernel/blocks/tsman.cpp
=== modified file 'storage/ndb/src/kernel/blocks/print_file.cpp'
--- a/storage/ndb/src/kernel/blocks/print_file.cpp 2006-12-31 00:04:59 +0000
+++ b/storage/ndb/src/kernel/blocks/print_file.cpp 2009-02-18 21:56:20 +0000
@@ -193,7 +193,7 @@ print_extent_page(int count, void* ptr,
int no = count * per_page;
const int max = count < g_df_zero.m_extent_pages ?
- per_page : g_df_zero.m_extent_count % per_page;
+ per_page : g_df_zero.m_extent_count - (g_df_zero.m_extent_count - 1) * per_page;
File_formats::Datafile::Extent_page * page =
(File_formats::Datafile::Extent_page*)ptr;
@@ -201,7 +201,7 @@ print_extent_page(int count, void* ptr,
ndbout << "Extent page: " << count
<< ", lsn = [ "
<< page->m_page_header.m_page_lsn_hi << " "
- << page->m_page_header.m_page_lsn_lo << "]"
+ << page->m_page_header.m_page_lsn_lo << "] "
<< endl;
for(int i = 0; i<max; i++)
{
=== modified file 'storage/ndb/src/kernel/blocks/tsman.cpp'
--- a/storage/ndb/src/kernel/blocks/tsman.cpp 2009-02-17 07:52:13 +0000
+++ b/storage/ndb/src/kernel/blocks/tsman.cpp 2009-02-18 21:56:20 +0000
@@ -835,7 +835,7 @@ Tsman::execFSWRITEREQ(Signal* signal)
}
if (page_no == extent_pages)
{
- Uint32 last = extents % per_page;
+ Uint32 last = extents - ((extent_pages - 1) * per_page);
page->get_header(last - 1, size)->m_next_free_extent = RNIL;
}
}
@@ -1239,7 +1239,8 @@ Tsman::scan_extent_headers(Signal* signa
* Last extent header page...
* set correct no of extent headers
*/
- extents= (datapages / size) % per_page;
+ Uint32 total_extents = datapages / size;
+ extents= total_extents - (pages - 1)*per_page;
}
for(Uint32 j = 0; j<extents; j++)
{
| Thread |
|---|
| • bzr commit into mysql-5.1-telco-6.2 branch (jonas:2844) Bug#39096 | Jonas Oreland | 18 Feb |