Sorry for my poor English first.<br>I am a beginner of xapian. I found that each database backend has own code to handle the file operations such as open/read/write/mkdir/rename...<br>I want to add some class to wrap all of these.<br>That will bring some benefits:<br>* the code which depends on the OS/compiler will be collected in one place.<br>* developer can write his own File System implement. such as no file lock while he can ensure no concurrency conflict( needn't fork now ), or cacheable file I/O.<br>* developer can use other "File System" such as his own distributed file system. <br><br>I just change the chert backend in xapian-core-1.2.15, add two file into the project: include/xapian/filesystem.h and common/filesystem.cc, and changed the other code in chert/common/net/api.<br>I only run the simple test in example path( simpleindex and simplesearch ) after patched.<br>That seems like work fine.<br><br>Is it useful for the xapian?<br><br>I've add the patch files here:<br>https://github.com/cytal/Xapian-patched/compare/master...FileSystem<br><h2><span class="keyword"><br></span><span class="phonetic"></span></h2>