Double fil_system->mutex exit in fil_extend_space_to_desired_size if posix_fallocate is used
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS |
Fix Released
|
High
|
Laurynas Biveinis | ||
5.1 |
Invalid
|
Undecided
|
Unassigned | ||
5.5 |
Invalid
|
Undecided
|
Unassigned | ||
5.6 |
Fix Released
|
High
|
Laurynas Biveinis |
Bug Description
Here:
/* At this point it is safe to release fil_system mutex. No
other thread can rename, delete or close the file because
we have set the node->being_
mutex_exit(
start_page_no = space->size;
file_start_page_no = space->size - node->size;
#ifdef HAVE_POSIX_
if (srv_use_
mutex_exit(
success = os_file_
(size_after_extend
- file_start_page_no) * page_size);
mutex_enter(
if (success) {
node->size += (size_after_extend - start_page_no);
space->size += (size_after_extend - start_page_no);
os_has_
}
node->being_
fil_node_
goto complete_io;
}
#endif
the mutex_exit and mutex_enter are reversed. (may be a merge regression etc.)
Related branches
- Laurynas Biveinis (community): Approve
-
Diff: 11 lines (+0/-1)1 file modifiedstorage/innobase/fil/fil0fil.cc (+0/-1)
tags: | added: merge-regression xtradb |
summary: |
- fil_system->mutex order is reversed + Double fil_system->mutex exit in fil_extend_space_to_desired_size if + posix_fallocate is used |
Percona now uses JIRA for bug reports so this bug report is migrated to: https:/ /jira.percona. com/browse/ PS-766