diff --git a/xflaim/src/fdbcnfig.cpp b/xflaim/src/fdbcnfig.cpp index f81e164..664c96e 100644 --- a/xflaim/src/fdbcnfig.cpp +++ b/xflaim/src/fdbcnfig.cpp @@ -1162,8 +1162,7 @@ RCODE FLMAPI F_Db::getDiskSpaceUsage( // Open the file and get its size. if (RC_BAD( rc = gv_XFlmSysData.pFileSystem->openFile( - szTmpName, FLM_IO_RDWR | FLM_IO_SH_DENYNONE | FLM_IO_DIRECT, - &pFileHdl))) + szTmpName, gv_XFlmSysData.uiFileOpenFlags, &pFileHdl))) { if (rc == NE_FLM_IO_PATH_NOT_FOUND || rc == NE_FLM_IO_INVALID_FILENAME) diff --git a/xflaim/src/fdbcopy.cpp b/xflaim/src/fdbcopy.cpp index 1920941..8d9b009 100644 --- a/xflaim/src/fdbcopy.cpp +++ b/xflaim/src/fdbcopy.cpp @@ -225,8 +225,8 @@ RCODE F_DbSystem::copyDb( } if( RC_BAD( rc = pSrcSFileHdl->setup( pSrcSFileClient, - gv_XFlmSysData.pFileHdlCache, - (gv_XFlmSysData.uiFileOpenFlags & FLM_IO_DIRECT) ? TRUE : FALSE))) + gv_XFlmSysData.pFileHdlCache, gv_XFlmSysData.uiFileOpenFlags, + gv_XFlmSysData.uiFileCreateFlags))) { goto Exit; } @@ -358,8 +358,8 @@ retry: } if( RC_BAD( rc = pDestSFileHdl->setup( pDestSFileClient, - gv_XFlmSysData.pFileHdlCache, - (gv_XFlmSysData.uiFileOpenFlags & FLM_IO_DIRECT) ? TRUE : FALSE))) + gv_XFlmSysData.pFileHdlCache, gv_XFlmSysData.uiFileOpenFlags, + gv_XFlmSysData.uiFileCreateFlags))) { goto Exit; } @@ -777,8 +777,7 @@ FSTATIC RCODE flmCopyFile( // Open the source file. if( RC_BAD( rc = gv_XFlmSysData.pFileSystem->openFile( - pDbCopyInfo->szSrcFileName, - FLM_IO_RDWR | FLM_IO_SH_DENYNONE | FLM_IO_DIRECT, + pDbCopyInfo->szSrcFileName, gv_XFlmSysData.uiFileOpenFlags, &pSrcFileHdl))) { goto Exit; @@ -788,9 +787,9 @@ FSTATIC RCODE flmCopyFile( // First attempt to open the destination file. If it does // not exist, attempt to create it. - if (RC_BAD( rc = gv_XFlmSysData.pFileSystem->openFile( pDbCopyInfo->szDestFileName, - FLM_IO_RDWR | FLM_IO_SH_DENYNONE | FLM_IO_DIRECT, - &pDestFileHdl))) + if( RC_BAD( rc = gv_XFlmSysData.pFileSystem->openFile( + pDbCopyInfo->szDestFileName, gv_XFlmSysData.uiFileOpenFlags, + &pDestFileHdl))) { if (rc != NE_FLM_IO_PATH_NOT_FOUND && rc != NE_FLM_IO_INVALID_FILENAME) @@ -799,10 +798,8 @@ FSTATIC RCODE flmCopyFile( } if( RC_BAD( rc = gv_XFlmSysData.pFileSystem->createFile( - pDbCopyInfo->szDestFileName, - FLM_IO_RDWR | FLM_IO_EXCL | FLM_IO_SH_DENYNONE | - FLM_IO_CREATE_DIR | FLM_IO_DIRECT, - &pDestFileHdl))) + pDbCopyInfo->szDestFileName, gv_XFlmSysData.uiFileCreateFlags, + &pDestFileHdl))) { goto Exit; } diff --git a/xflaim/src/flbackup.cpp b/xflaim/src/flbackup.cpp index 042dc18..6be3b9f 100644 --- a/xflaim/src/flbackup.cpp +++ b/xflaim/src/flbackup.cpp @@ -1092,8 +1092,8 @@ RCODE F_DbSystem::dbRestore( } if( RC_BAD( rc = pSFile->setup( &SFileClient, - gv_XFlmSysData.pFileHdlCache, - (gv_XFlmSysData.uiFileOpenFlags & FLM_IO_DIRECT) ? TRUE : FALSE))) + gv_XFlmSysData.pFileHdlCache, gv_XFlmSysData.uiFileOpenFlags, + gv_XFlmSysData.uiFileCreateFlags))) { goto Exit; } diff --git a/xflaim/src/flblddb.cpp b/xflaim/src/flblddb.cpp index 1d1bd25..89d85e6 100644 --- a/xflaim/src/flblddb.cpp +++ b/xflaim/src/flblddb.cpp @@ -486,8 +486,8 @@ Retry: } if( RC_BAD( rc = m_pSFileHdl->setup( &SFileClient, - gv_XFlmSysData.pFileHdlCache, - (gv_XFlmSysData.uiFileOpenFlags & FLM_IO_DIRECT) ? TRUE : FALSE))) + gv_XFlmSysData.pFileHdlCache, gv_XFlmSysData.uiFileOpenFlags, + gv_XFlmSysData.uiFileCreateFlags))) { goto Exit; } diff --git a/xflaim/src/fldbglog.cpp b/xflaim/src/fldbglog.cpp index 2889b2a..1212f2f 100644 --- a/xflaim/src/fldbglog.cpp +++ b/xflaim/src/fldbglog.cpp @@ -80,8 +80,8 @@ void flmDbgLogInit( void) // Create the file - truncate if it exists already. - if( RC_BAD( rc = gv_XFlmSysData.pFileSystem->Create( szLogPath, - XFLM_IO_RDWR | XFLM_IO_SH_DENYNONE | XFLM_IO_DIRECT, &g_pLogFile))) + if( RC_BAD( rc = gv_XFlmSysData.pFileSystem->createFile( szLogPath, + gv_XFlmSysData.uiFileCreateFlags, &g_pLogFile))) { goto Exit; } diff --git a/xflaim/src/flopen.cpp b/xflaim/src/flopen.cpp index e371fb5..454c224 100644 --- a/xflaim/src/flopen.cpp +++ b/xflaim/src/flopen.cpp @@ -1498,7 +1498,7 @@ RCODE F_Database::readDbHdr( IF_FileHdl * pFileHdl = NULL; if( RC_BAD( rc = gv_XFlmSysData.pFileSystem->openFile( pszDbPath, - FLM_IO_RDWR | FLM_IO_SH_DENYNONE | FLM_IO_DIRECT, &pFileHdl))) + gv_XFlmSysData.uiFileOpenFlags, &pFileHdl))) { goto Exit; } @@ -1658,8 +1658,8 @@ RCODE F_Database::startCPThread( void) // Set up the super file if( RC_BAD( rc = pCPInfo->pSFileHdl->setup( pSFileClient, - gv_XFlmSysData.pFileHdlCache, - (gv_XFlmSysData.uiFileOpenFlags & FLM_IO_DIRECT) ? TRUE : FALSE))) + gv_XFlmSysData.pFileHdlCache, gv_XFlmSysData.uiFileOpenFlags, + gv_XFlmSysData.uiFileCreateFlags))) { goto Exit; } diff --git a/xflaim/src/frestore.cpp b/xflaim/src/frestore.cpp index f88dacf..8c8183a 100644 --- a/xflaim/src/frestore.cpp +++ b/xflaim/src/frestore.cpp @@ -131,7 +131,7 @@ RCODE F_FSRestore::openRflFile( { if( RC_BAD( rc = gv_XFlmSysData.pFileSystem->openFile( m_szDbPath, - FLM_IO_RDWR | FLM_IO_SH_DENYNONE | FLM_IO_DIRECT, &pFileHdl))) + gv_XFlmSysData.uiFileOpenFlags, &pFileHdl))) { goto Exit; } @@ -162,7 +162,7 @@ RCODE F_FSRestore::openRflFile( // Open the file. if( RC_BAD( rc = gv_XFlmSysData.pFileSystem->openFile( szRflPath, - FLM_IO_RDWR | FLM_IO_SH_DENYNONE | FLM_IO_DIRECT, &m_pFileHdl))) + gv_XFlmSysData.uiFileOpenFlags, &m_pFileHdl))) { goto Exit; } diff --git a/xflaim/src/fstructs.h b/xflaim/src/fstructs.h index 845fccc..eef0252 100644 --- a/xflaim/src/fstructs.h +++ b/xflaim/src/fstructs.h @@ -1464,6 +1464,7 @@ typedef struct FlmSystemData FLMUINT uiDbThreadGroup; FLMUINT uiCheckpointThreadGroup; FLMUINT uiFileOpenFlags; + FLMUINT uiFileCreateFlags; } FLMSYSDATA; diff --git a/xflaim/src/fsysdata.cpp b/xflaim/src/fsysdata.cpp index f9b5862..a54ca2f 100644 --- a/xflaim/src/fsysdata.cpp +++ b/xflaim/src/fsysdata.cpp @@ -720,8 +720,8 @@ RCODE F_Db::linkToDatabase( } if( RC_BAD( rc = m_pSFileHdl->setup( pSFileClient, - gv_XFlmSysData.pFileHdlCache, - (gv_XFlmSysData.uiFileOpenFlags & FLM_IO_DIRECT) ? TRUE : FALSE))) + gv_XFlmSysData.pFileHdlCache, gv_XFlmSysData.uiFileOpenFlags, + gv_XFlmSysData.uiFileCreateFlags))) { goto Exit; } @@ -1316,6 +1316,12 @@ RCODE F_DbSystem::init( void) goto Exit; } + gv_XFlmSysData.uiFileOpenFlags = + FLM_IO_RDWR | FLM_IO_SH_DENYNONE | FLM_IO_DIRECT | FLM_IO_MISALIGNED_OK; + + gv_XFlmSysData.uiFileCreateFlags = + gv_XFlmSysData.uiFileOpenFlags | FLM_IO_EXCL | FLM_IO_CREATE_DIR; + // Initialize all of the fields gv_XFlmSysData.uiMaxUnusedTime = FLM_SECS_TO_TIMER_UNITS( diff --git a/xflaim/src/rfl.cpp b/xflaim/src/rfl.cpp index a73e214..b0cb23f 100644 --- a/xflaim/src/rfl.cpp +++ b/xflaim/src/rfl.cpp @@ -990,8 +990,7 @@ RCODE F_Rfl::openFile( // Open the file. if (RC_BAD( rc = gv_XFlmSysData.pFileSystem->openFile( szRflFileName, - FLM_IO_RDWR | FLM_IO_SH_DENYNONE | FLM_IO_DIRECT, - &m_pFileHdl))) + gv_XFlmSysData.uiFileOpenFlags, &m_pFileHdl))) { goto Exit; } @@ -1115,8 +1114,7 @@ RCODE F_Rfl::createFile( // Create the file if (RC_BAD( rc = gv_XFlmSysData.pFileSystem->createFile( szRflFileName, - FLM_IO_RDWR | FLM_IO_EXCL | FLM_IO_SH_DENYNONE | FLM_IO_DIRECT, - &m_pFileHdl))) + gv_XFlmSysData.uiFileCreateFlags, &m_pFileHdl))) { goto Exit; }