diff options
author | guilhem@mysql.com <> | 2004-09-24 11:54:37 +0200 |
---|---|---|
committer | guilhem@mysql.com <> | 2004-09-24 11:54:37 +0200 |
commit | 53d0daa3a0e5548e8226d228727ed056fb82fb99 (patch) | |
tree | 1904cbaab17eae6aa0f58174837482dfc20ee104 /mysys/my_fstream.c | |
parent | c163a67a4dc7fc6f239c229def64fcc25ce4307a (diff) | |
download | mariadb-git-53d0daa3a0e5548e8226d228727ed056fb82fb99.tar.gz |
Fix for BUG#3248 "Doc says MyISAM warns if disk full but it does not":
we force the message to the error log, and we make it more informative;
we treat EDQUOT like ENOSPC.
Diffstat (limited to 'mysys/my_fstream.c')
-rw-r--r-- | mysys/my_fstream.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/mysys/my_fstream.c b/mysys/my_fstream.c index 94f3aaf3464..0ad789e98ac 100644 --- a/mysys/my_fstream.c +++ b/mysys/my_fstream.c @@ -114,13 +114,15 @@ uint my_fwrite(FILE *stream, const byte *Buffer, uint Count, myf MyFlags) if (my_thread_var->abort) MyFlags&= ~ MY_WAIT_IF_FULL; /* End if aborted by user */ #endif - if (errno == ENOSPC && (MyFlags & MY_WAIT_IF_FULL)) + if ((errno == ENOSPC || errno == EDQUOT) && + (MyFlags & MY_WAIT_IF_FULL)) { - if (!(errors++ % MY_WAIT_GIVE_USER_A_MESSAGE)) - my_error(EE_DISK_FULL,MYF(ME_BELL | ME_NOREFRESH)); - sleep(MY_WAIT_FOR_USER_TO_FIX_PANIC); - VOID(my_fseek(stream,seekptr,MY_SEEK_SET,MYF(0))); - continue; + if (!(errors++ % MY_WAIT_GIVE_USER_A_MESSAGE)) + my_error(EE_DISK_FULL,MYF(ME_BELL | ME_NOREFRESH), + "[stream]",my_errno,MY_WAIT_FOR_USER_TO_FIX_PANIC); + VOID(sleep(MY_WAIT_FOR_USER_TO_FIX_PANIC)); + VOID(my_fseek(stream,seekptr,MY_SEEK_SET,MYF(0))); + continue; } #endif if (ferror(stream) || (MyFlags & (MY_NABP | MY_FNABP))) |