fil0fil.c:

  We accidentally checked if the DIRECTORY is of type OS_FILE_TYPE_UNKNOWN; our intention was to check if the FILE is that; best to remove the check altogether, as in crash recovery it is safest to try to open also files whose type is unknown
os0file.c:
  Fix a bug: in Windows, os_file_readdir_next_file() returned OS_FILE_TYPE_UNKNOWN as the type of a regular file; this did not break mysqld, but did break ibbackup on Windows
parent 61a0e57c
...@@ -3002,8 +3002,8 @@ fil_load_single_table_tablespaces(void) ...@@ -3002,8 +3002,8 @@ fil_load_single_table_tablespaces(void)
/* printf( /* printf(
" Looking at file %s\n", fileinfo.name); */ " Looking at file %s\n", fileinfo.name); */
if (fileinfo.type == OS_FILE_TYPE_DIR if (fileinfo.type == OS_FILE_TYPE_DIR) {
|| dbinfo.type == OS_FILE_TYPE_UNKNOWN) {
goto next_file_item; goto next_file_item;
} }
......
...@@ -700,12 +700,12 @@ http://www.mysql.com/doc/en/Windows_symbolic_links.html */ ...@@ -700,12 +700,12 @@ http://www.mysql.com/doc/en/Windows_symbolic_links.html */
} else if (lpFindFileData->dwFileAttributes } else if (lpFindFileData->dwFileAttributes
& FILE_ATTRIBUTE_DIRECTORY) { & FILE_ATTRIBUTE_DIRECTORY) {
info->type = OS_FILE_TYPE_DIR; info->type = OS_FILE_TYPE_DIR;
} else if (lpFindFileData->dwFileAttributes
& FILE_ATTRIBUTE_NORMAL) {
/* TODO: are FILE_ATTRIBUTE_NORMAL files really all normal files? */
info->type = OS_FILE_TYPE_FILE;
} else { } else {
info->type = OS_FILE_TYPE_UNKNOWN; /* It is probably safest to assume that all other
file types are normal. Better to check them rather
than blindly skip them. */
info->type = OS_FILE_TYPE_FILE;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment