summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authorunknown <heikki@hundin.mysql.fi>2005-01-27 22:00:36 +0200
committerunknown <heikki@hundin.mysql.fi>2005-01-27 22:00:36 +0200
commitc84ff9867260dfb1a8a95b993aad459ce76b85c2 (patch)
tree4fba9befbeba5042a1be1496b6d7b991169244ff /innobase
parent555c0e8fd159df9b748b0488561509e0f63b640b (diff)
downloadmariadb-git-c84ff9867260dfb1a8a95b993aad459ce76b85c2.tar.gz
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 innobase/os/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 innobase/fil/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
Diffstat (limited to 'innobase')
-rw-r--r--innobase/fil/fil0fil.c4
-rw-r--r--innobase/os/os0file.c10
2 files changed, 7 insertions, 7 deletions
diff --git a/innobase/fil/fil0fil.c b/innobase/fil/fil0fil.c
index cc1c4a22983..a8da074cab9 100644
--- a/innobase/fil/fil0fil.c
+++ b/innobase/fil/fil0fil.c
@@ -3002,8 +3002,8 @@ fil_load_single_table_tablespaces(void)
/* printf(
" Looking at file %s\n", fileinfo.name); */
- if (fileinfo.type == OS_FILE_TYPE_DIR
- || dbinfo.type == OS_FILE_TYPE_UNKNOWN) {
+ if (fileinfo.type == OS_FILE_TYPE_DIR) {
+
goto next_file_item;
}
diff --git a/innobase/os/os0file.c b/innobase/os/os0file.c
index 7090e8662f3..070096f4760 100644
--- a/innobase/os/os0file.c
+++ b/innobase/os/os0file.c
@@ -700,12 +700,12 @@ http://www.mysql.com/doc/en/Windows_symbolic_links.html */
} else if (lpFindFileData->dwFileAttributes
& FILE_ATTRIBUTE_DIRECTORY) {
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 {
- 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;
}
}