diff options
author | Jan Lindström <jplindst@mariadb.org> | 2015-02-13 11:49:31 +0200 |
---|---|---|
committer | Jan Lindström <jplindst@mariadb.org> | 2015-02-13 11:49:31 +0200 |
commit | 454beee5fbd9da8e87a54b46ea716679693361bd (patch) | |
tree | 9ef1493fdb62e1526189624051b93b332ae92113 /storage/xtradb/btr | |
parent | 356ae629f0b8ecd5e4b277bdaedf6d55ce09a603 (diff) | |
download | mariadb-git-454beee5fbd9da8e87a54b46ea716679693361bd.tar.gz |
MDEV-6288 :Innodb causes server crash after disk full, then can't ALTER TABLE any more
Fix try to avoid unnecessary crashes when disk full situation is reached
on alter table.
Diffstat (limited to 'storage/xtradb/btr')
-rw-r--r-- | storage/xtradb/btr/btr0btr.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/storage/xtradb/btr/btr0btr.cc b/storage/xtradb/btr/btr0btr.cc index d240188e772..1da487f1400 100644 --- a/storage/xtradb/btr/btr0btr.cc +++ b/storage/xtradb/btr/btr0btr.cc @@ -3097,6 +3097,12 @@ func_start: /* 2. Allocate a new page to the index */ new_block = btr_page_alloc(cursor->index, hint_page_no, direction, btr_page_get_level(page, mtr), mtr, mtr); + + /* Play safe, if new page is not allocated */ + if (!new_block) { + return(rec); + } + new_page = buf_block_get_frame(new_block); new_page_zip = buf_block_get_page_zip(new_block); btr_page_create(new_block, new_page_zip, cursor->index, |