diff options
author | unknown <heikki@hundin.mysql.fi> | 2005-01-27 22:00:36 +0200 |
---|---|---|
committer | unknown <heikki@hundin.mysql.fi> | 2005-01-27 22:00:36 +0200 |
commit | c84ff9867260dfb1a8a95b993aad459ce76b85c2 (patch) | |
tree | 4fba9befbeba5042a1be1496b6d7b991169244ff /innobase | |
parent | 555c0e8fd159df9b748b0488561509e0f63b640b (diff) | |
download | mariadb-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.c | 4 | ||||
-rw-r--r-- | innobase/os/os0file.c | 10 |
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; } } |