File tree Expand file tree Collapse file tree 4 files changed +20
-4
lines changed Expand file tree Collapse file tree 4 files changed +20
-4
lines changed Original file line number Diff line number Diff line change @@ -4140,7 +4140,11 @@ fil_extend_space_to_desired_size(
4140
4140
= (start_page_no - file_start_page_no ) * page_size ;
4141
4141
ib_int64_t len
4142
4142
= (size_after_extend - start_page_no ) * page_size ;
4143
- int err = posix_fallocate (node -> handle , start_offset , len );
4143
+ int err ;
4144
+ do {
4145
+ err = posix_fallocate (node -> handle , start_offset , len );
4146
+ } while (err == EINTR
4147
+ && srv_shutdown_state == SRV_SHUTDOWN_NONE );
4144
4148
4145
4149
success = !err ;
4146
4150
Original file line number Diff line number Diff line change @@ -2032,7 +2032,11 @@ os_file_set_size(
2032
2032
2033
2033
#ifdef HAVE_POSIX_FALLOCATE
2034
2034
if (srv_use_posix_fallocate ) {
2035
- int err = posix_fallocate (file , 0 , desired_size );
2035
+ int err ;
2036
+ do {
2037
+ err = posix_fallocate (file , 0 , desired_size );
2038
+ } while (err == EINTR
2039
+ && srv_shutdown_state == SRV_SHUTDOWN_NONE );
2036
2040
if (err ) {
2037
2041
fprintf (stderr ,
2038
2042
"InnoDB: Error: preallocating %lld bytes for"
Original file line number Diff line number Diff line change @@ -4975,7 +4975,11 @@ fil_extend_space_to_desired_size(
4975
4975
= (start_page_no - file_start_page_no ) * page_size ;
4976
4976
ib_int64_t len
4977
4977
= (size_after_extend - start_page_no ) * page_size ;
4978
- int err = posix_fallocate (node -> handle , start_offset , len );
4978
+ int err ;
4979
+ do {
4980
+ err = posix_fallocate (node -> handle , start_offset , len );
4981
+ } while (err == EINTR
4982
+ && srv_shutdown_state == SRV_SHUTDOWN_NONE );
4979
4983
4980
4984
success = !err ;
4981
4985
Original file line number Diff line number Diff line change @@ -2189,7 +2189,11 @@ os_file_set_size(
2189
2189
2190
2190
#ifdef HAVE_POSIX_FALLOCATE
2191
2191
if (srv_use_posix_fallocate ) {
2192
- int err = posix_fallocate (file , 0 , desired_size );
2192
+ int err ;
2193
+ do {
2194
+ err = posix_fallocate (file , 0 , desired_size );
2195
+ } while (err == EINTR
2196
+ && srv_shutdown_state == SRV_SHUTDOWN_NONE );
2193
2197
if (err ) {
2194
2198
fprintf (stderr ,
2195
2199
"InnoDB: Error: preallocating %lld bytes for"
You can’t perform that action at this time.
0 commit comments