summaryrefslogtreecommitdiff
path: root/src/docs/custom-file-systems.dox
diff options
context:
space:
mode:
Diffstat (limited to 'src/docs/custom-file-systems.dox')
-rw-r--r--src/docs/custom-file-systems.dox9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/docs/custom-file-systems.dox b/src/docs/custom-file-systems.dox
index cddec0e4258..d496002b0fb 100644
--- a/src/docs/custom-file-systems.dox
+++ b/src/docs/custom-file-systems.dox
@@ -17,6 +17,12 @@ allocation is attempted. See the WiredTiger POSIX file system
implementation for an example of how the fallocate method might be
changed after initialization.
+WT_FILE_SYSTEM and WT_FILE_HANDLE methods are expected to return POSIX
+1003.1 or ANSI C standard error codes on failure. Custom file systems
+on Windows systems can use the WT_EXTENSION_API::map_windows_error
+method to translate Windows system errors into POSIX system errors for
+return to WiredTiger.
+
WT_FILE_SYSTEM and WT_FILE_HANDLE methods which fail but not fatally
(for example, a WT_FILE_HANDLE::truncate method call which fails because
the file is currently mapped into memory), should return EBUSY.
@@ -25,6 +31,9 @@ WT_FILE_SYSTEM and WT_FILE_HANDLE methods which fail fatally, but not
in all cases (for example, a WT_FILE_HANDLE::fadvise method call which
only supports ::WT_FILE_HANDLE_WILLNEED), should return ENOTSUP.
+Additionally, custom file system functions may return ::WT_PANIC to
+shut down the system.
+
Unless explicitly stated otherwise, WiredTiger may invoke methods on the
WT_FILE_SYSTEM and WT_FILE_HANDLE interfaces from multiple threads
concurrently. It is the responsibility of the implementation to protect