Browse Source

HPCC-25361 Ensure minimum IFO modes are used for disk access

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Gavin Halliday 4 năm trước cách đây
mục cha
commit
bb2f2644f0

+ 1 - 1
common/dllserver/thorplugin.cpp

@@ -538,7 +538,7 @@ const StringArray &HelperDll::queryManifestFiles(const char *type, const char *w
                 extractName.append(id).append('.').append(type);
                 extractName.append(id).append('.').append(type);
             recursiveCreateDirectoryForFile(extractName);
             recursiveCreateDirectoryForFile(extractName);
             OwnedIFile f = createIFile(extractName);
             OwnedIFile f = createIFile(extractName);
-            OwnedIFileIO o = f->open(IFOcreaterw);
+            OwnedIFileIO o = f->open(IFOcreate);
             assertex(o.get() != nullptr);
             assertex(o.get() != nullptr);
             o->write(0, len, data);
             o->write(0, len, data);
             list->append(extractName);
             list->append(extractName);

+ 1 - 1
deployment/configenv/xml_jlibpt/ConfigEnv.cpp

@@ -167,7 +167,7 @@ void ConfigEnv::create(IPropertyTree *params)
    pFile.setown(createIFile(envFile));
    pFile.setown(createIFile(envFile));
 
 
    Owned<IFileIO> pFileIO;
    Owned<IFileIO> pFileIO;
-   pFileIO.setown(pFile->open(IFOcreaterw));
+   pFileIO.setown(pFile->open(IFOcreate));
    pFileIO->write(0, env.length(), env.str());
    pFileIO->write(0, env.length(), env.str());
    */
    */
 
 

+ 1 - 1
deployment/deployutils/deployutils.cpp

@@ -63,7 +63,7 @@ bool writeToFile(const char* fileName, const char * sb)
   StringBuffer jsName(fileName);
   StringBuffer jsName(fileName);
   recursiveCreateDirectoryForFile(fileName);
   recursiveCreateDirectoryForFile(fileName);
   Owned<IFile> pFile = createIFile(jsName);
   Owned<IFile> pFile = createIFile(jsName);
-  Owned<IFileIO> pFileIO = pFile->open(IFOcreaterw);
+  Owned<IFileIO> pFileIO = pFile->open(IFOcreate);
   pFileIO->write(0, strlen(sb), sb);
   pFileIO->write(0, strlen(sb), sb);
 
 
   return true;
   return true;

+ 1 - 1
deployment/envgen/main.cpp

@@ -405,7 +405,7 @@ int main(int argc, char** argv)
       pFile.setown(createIFile(out_envname));
       pFile.setown(createIFile(out_envname));
       
       
       Owned<IFileIO> pFileIO;
       Owned<IFileIO> pFileIO;
-      pFileIO.setown(pFile->open(IFOcreaterw));
+      pFileIO.setown(pFile->open(IFOcreate));
       pFileIO->write(0, env.length(), env.str());
       pFileIO->write(0, env.length(), env.str());
     }
     }
   }
   }

+ 1 - 1
deployment/envgen2/EnvGen.cpp

@@ -677,7 +677,7 @@ bool CEnvGen::process()
    pFile.setown(createIFile(envFile));
    pFile.setown(createIFile(envFile));
 
 
    Owned<IFileIO> pFileIO;
    Owned<IFileIO> pFileIO;
-   pFileIO.setown(pFile->open(IFOcreaterw));
+   pFileIO.setown(pFile->open(IFOcreate));
    pFileIO->write(0, out.length(), out.str());
    pFileIO->write(0, out.length(), out.str());
 
 
    //printf("%s", out.str());
    //printf("%s", out.str());

+ 1 - 1
ecl/ecl-bundle/ecl-bundle.cpp

@@ -750,7 +750,7 @@ public:
         const char *name = bundle->queryCleanName();
         const char *name = bundle->queryCleanName();
         const char *version = bundle->queryCleanVersion();
         const char *version = bundle->queryCleanVersion();
         VStringBuffer redirect("IMPORT %s.%s.%s.%s as _%s; EXPORT %s := _%s;", VERSION_SUBDIR, name, version, name, name, name, name);
         VStringBuffer redirect("IMPORT %s.%s.%s.%s as _%s; EXPORT %s := _%s;", VERSION_SUBDIR, name, version, name, name, name, name);
-        Owned<IFileIO> rfile = redirector->open(IFOcreaterw);
+        Owned<IFileIO> rfile = redirector->open(IFOcreate);
         rfile->write(0, redirect.length(), redirect.str());
         rfile->write(0, redirect.length(), redirect.str());
         bundle->setActive(true);
         bundle->setActive(true);
     }
     }

+ 1 - 1
ecl/eclcmd/eclcmd_sign.cpp

@@ -180,7 +180,7 @@ private:
     void writeToOutput(size32_t len, const char* content)
     void writeToOutput(size32_t len, const char* content)
     {
     {
         Owned<IFile> f = createIFile(optOutput.get());
         Owned<IFile> f = createIFile(optOutput.get());
-        Owned<IFileIO> fio = f->open(IFOcreaterw);
+        Owned<IFileIO> fio = f->open(IFOcreate);
         if (fio)
         if (fio)
         {
         {
             fio->write(0, len, (const void*)content);
             fio->write(0, len, (const void*)content);

+ 1 - 1
ecl/eclcmd/queries/ecl-queries.cpp

@@ -1257,7 +1257,7 @@ public:
             return;
             return;
 
 
         Owned<IFile> file = createIFile(filepath);
         Owned<IFile> file = createIFile(filepath);
-        Owned<IFileIO> io = file->open(IFOcreaterw);
+        Owned<IFileIO> io = file->open(IFOcreate);
 
 
         fprintf(stdout, "\nWriting to file %s\n", file->queryFilename());
         fprintf(stdout, "\nWriting to file %s\n", file->queryFilename());
 
 

+ 1 - 1
esp/services/WsDeploy/WsDeployService.cpp

@@ -2322,7 +2322,7 @@ bool CWsDeployFileInfo::rollbackEnvironmentForCloud(IEspContext &context, IEspRo
             {
             {
                 StringBuffer sbBackup;
                 StringBuffer sbBackup;
                 Owned<IFile> pFile = createIFile(m_cloudEnvBkupFileName.str());
                 Owned<IFile> pFile = createIFile(m_cloudEnvBkupFileName.str());
-                Owned<IFileIO> pFileIO = pFile->open(IFOreadwrite);
+                Owned<IFileIO> pFileIO = pFile->open(IFOwrite);
                 StringBuffer sbxml;
                 StringBuffer sbxml;
                 {
                 {
                     Owned <IPropertyTree> pTree = createPTree(*pFileIO);
                     Owned <IPropertyTree> pTree = createPTree(*pFileIO);

+ 1 - 1
esp/services/ws_workunits/ws_wuresult.cpp

@@ -240,7 +240,7 @@ void CWsWuResultOutHelper::createResultIOS()
     recursiveCreateDirectoryForFile(resultFileNameWithPath);
     recursiveCreateDirectoryForFile(resultFileNameWithPath);
 
 
     OwnedIFile resultIFile = createIFile(resultFileNameWithPath);
     OwnedIFile resultIFile = createIFile(resultFileNameWithPath);
-    OwnedIFileIO resultIOW = resultIFile->open(IFOcreaterw);
+    OwnedIFileIO resultIOW = resultIFile->open(IFOcreate);
     if (!resultIOW)
     if (!resultIOW)
         throw makeStringExceptionV(ECLWATCH_CANNOT_OPEN_FILE, "Failed to open %s.", resultFileNameWithPath.str());
         throw makeStringExceptionV(ECLWATCH_CANNOT_OPEN_FILE, "Failed to open %s.", resultFileNameWithPath.str());
     resultIOS.setown(createIOStream(resultIOW));
     resultIOS.setown(createIOStream(resultIOW));

+ 6 - 6
esp/tools/soapplus/http.cpp

@@ -880,7 +880,7 @@ void HttpClient::addEspRequest(const char* requestId, const char* service, const
         fname.append(".xml");
         fname.append(".xml");
         Owned<IFile> file = createIFile(fname.str());
         Owned<IFile> file = createIFile(fname.str());
         Owned<IFileIO> io;
         Owned<IFileIO> io;
-        io.setown(file->open(IFOcreaterw));
+        io.setown(file->open(IFOcreate));
 
 
         if (io.get())
         if (io.get())
             io->write(0, request.length(), request.str());
             io->write(0, request.length(), request.str());
@@ -1461,7 +1461,7 @@ int HttpClient::sendRequest(StringBuffer& request, const char* fname, HttpStat*
         fname1.append("request").append(PATHSEPCHAR);
         fname1.append("request").append(PATHSEPCHAR);
         fname1.append(fname);
         fname1.append(fname);
         Owned<IFile> file1 = createIFile(fname1.str());
         Owned<IFile> file1 = createIFile(fname1.str());
-        io_o1.setown(file1->open(IFOcreaterw));
+        io_o1.setown(file1->open(IFOcreate));
         if(io_o1.get() == NULL)
         if(io_o1.get() == NULL)
         {
         {
             fprintf(m_logfile, "file %s can't be created", file1->queryFilename());
             fprintf(m_logfile, "file %s can't be created", file1->queryFilename());
@@ -1472,7 +1472,7 @@ int HttpClient::sendRequest(StringBuffer& request, const char* fname, HttpStat*
         fname2.append("response_full").append(PATHSEPCHAR);
         fname2.append("response_full").append(PATHSEPCHAR);
         fname2.append(fname);
         fname2.append(fname);
         Owned<IFile> file2 = createIFile(fname2.str());
         Owned<IFile> file2 = createIFile(fname2.str());
-        io_o2.setown(file2->open(IFOcreaterw));
+        io_o2.setown(file2->open(IFOcreate));
         if(io_o2.get() == NULL)
         if(io_o2.get() == NULL)
         {
         {
             fprintf(m_logfile, "file %s can't be created", file2->queryFilename());
             fprintf(m_logfile, "file %s can't be created", file2->queryFilename());
@@ -1484,7 +1484,7 @@ int HttpClient::sendRequest(StringBuffer& request, const char* fname, HttpStat*
         fname3.append("response_content").append(PATHSEPCHAR);
         fname3.append("response_content").append(PATHSEPCHAR);
         fname3.append(fname);
         fname3.append(fname);
         Owned<IFile> file3 = createIFile(fname3.str());
         Owned<IFile> file3 = createIFile(fname3.str());
-        io_o3.setown(file3->open(IFOcreaterw));
+        io_o3.setown(file3->open(IFOcreate));
         if(io_o3.get() == NULL)
         if(io_o3.get() == NULL)
         {
         {
             fprintf(m_logfile, "file %s can't be created", file3->queryFilename());
             fprintf(m_logfile, "file %s can't be created", file3->queryFilename());
@@ -2183,7 +2183,7 @@ int SimpleServer::start()
             }
             }
 
 
             Owned<IFile> req_f = createIFile(req_outfname.str());
             Owned<IFile> req_f = createIFile(req_outfname.str());
-            Owned<IFileIO>req_io = req_f->open(IFOcreaterw);
+            Owned<IFileIO>req_io = req_f->open(IFOcreate);
             if(req_io.get() == NULL)
             if(req_io.get() == NULL)
             {
             {
                 fprintf(m_logfile, "file %s can't be created", req_outfname.str());
                 fprintf(m_logfile, "file %s can't be created", req_outfname.str());
@@ -2191,7 +2191,7 @@ int SimpleServer::start()
             }
             }
             req_io->write(0, requestbuf.length(), requestbuf.str());
             req_io->write(0, requestbuf.length(), requestbuf.str());
             Owned<IFile> resp_f = createIFile(resp_outfname.str());
             Owned<IFile> resp_f = createIFile(resp_outfname.str());
-            Owned<IFileIO>resp_io = resp_f->open(IFOcreaterw);
+            Owned<IFileIO>resp_io = resp_f->open(IFOcreate);
             if(resp_io.get() == NULL)
             if(resp_io.get() == NULL)
             {
             {
                 fprintf(m_logfile, "file %s can't be created", resp_outfname.str());
                 fprintf(m_logfile, "file %s can't be created", resp_outfname.str());

+ 2 - 2
esp/tools/soapplus/msggenerator.cpp

@@ -499,7 +499,7 @@ StringBuffer& MessageGenerator::generateMessage(const char* method, const char*
     {
     {
         Owned<IFile> tf = createIFile(m_gfile.get());
         Owned<IFile> tf = createIFile(m_gfile.get());
         {
         {
-            Owned<IFileIO> tio = tf->open(IFOcreaterw);
+            Owned<IFileIO> tio = tf->open(IFOcreate);
             tio->write(0, message.length(), message.str());
             tio->write(0, message.length(), message.str());
         }
         }
     }
     }
@@ -529,7 +529,7 @@ StringBuffer& MessageGenerator::generateMessage(const char* method, const char*
 #endif
 #endif
             Owned<IFile> tf = createIFile(tmpfname.str());
             Owned<IFile> tf = createIFile(tmpfname.str());
             {
             {
-                Owned<IFileIO> tio = tf->open(IFOcreaterw);
+                Owned<IFileIO> tio = tf->open(IFOcreate);
                 tio->write(0, message.length(), message.str());
                 tio->write(0, message.length(), message.str());
             }
             }
             
             

+ 1 - 1
system/jlib/jcomp.cpp

@@ -385,7 +385,7 @@ void CppCompiler::writeLogFile(const char* filepath, StringBuffer& log)
     if(f->exists())
     if(f->exists())
         f->remove();
         f->remove();
 
 
-    Owned <IFileIO> fio = f->open(IFOcreaterw);
+    Owned <IFileIO> fio = f->open(IFOcreate);
     if(fio.get())
     if(fio.get())
         fio->write(0, log.length(), log.str());
         fio->write(0, log.length(), log.str());
 }
 }

+ 1 - 1
system/jlib/jfile.hpp

@@ -263,7 +263,7 @@ extern jlib_decl void createHardLink(const char* fileName, const char* existingF
 
 
 extern jlib_decl IFile * createIFile(const char * filename);
 extern jlib_decl IFile * createIFile(const char * filename);
 extern jlib_decl IFile * createIFile(MemoryBuffer & buffer);
 extern jlib_decl IFile * createIFile(MemoryBuffer & buffer);
-extern jlib_decl IFileIO * createIFileIO(HANDLE handle,IFOmode=IFOreadwrite,IFEflags extraFlags=IFEnone);
+extern jlib_decl IFileIO * createIFileIO(HANDLE handle,IFOmode mode,IFEflags extraFlags=IFEnone);
 extern jlib_decl IDirectoryIterator * createDirectoryIterator(const char * path = NULL, const char * wildcard = NULL, bool sub = false, bool includedirs = true);
 extern jlib_decl IDirectoryIterator * createDirectoryIterator(const char * path = NULL, const char * wildcard = NULL, bool sub = false, bool includedirs = true);
 extern jlib_decl IDirectoryIterator * createNullDirectoryIterator();
 extern jlib_decl IDirectoryIterator * createNullDirectoryIterator();
 extern jlib_decl IFileIO * createIORange(IFileIO * file, offset_t header, offset_t length);     // restricts input/output to a section of a file.
 extern jlib_decl IFileIO * createIORange(IFileIO * file, offset_t header, offset_t length);     // restricts input/output to a section of a file.

+ 1 - 1
tools/esdlcmd/esdlcmd_common.cpp

@@ -58,7 +58,7 @@ void saveAsFile(const char * filepath, const char *filename, const char *text, c
         path.append(ext);
         path.append(ext);
 
 
     Owned<IFile> file = createIFile(path.str());
     Owned<IFile> file = createIFile(path.str());
-    Owned<IFileIO> io = file->open(IFOcreaterw);
+    Owned<IFileIO> io = file->open(IFOcreate);
 
 
     DBGLOG("Writing to file %s", file->queryFilename());
     DBGLOG("Writing to file %s", file->queryFilename());
 
 

+ 3 - 3
tools/esdlcmd/esdlcmd_core.cpp

@@ -418,7 +418,7 @@ public:
 
 
         Owned<IFile> file = createIFile(path.str());
         Owned<IFile> file = createIFile(path.str());
         Owned<IFileIO> io;
         Owned<IFileIO> io;
-        io.setown(file->open(IFOcreaterw));
+        io.setown(file->open(IFOcreate));
 
 
         DBGLOG("Writing to file %s", file->queryFilename());
         DBGLOG("Writing to file %s", file->queryFilename());
 
 
@@ -786,7 +786,7 @@ public:
 
 
         Owned<IFile> file = createIFile(path);
         Owned<IFile> file = createIFile(path);
         Owned<IFileIO> io;
         Owned<IFileIO> io;
-        io.setown(file->open(IFOcreaterw));
+        io.setown(file->open(IFOcreate));
 
 
         DBGLOG("Writing java to file %s", file->queryFilename());
         DBGLOG("Writing java to file %s", file->queryFilename());
 
 
@@ -1098,7 +1098,7 @@ public:
 
 
         Owned<IFile> file = createIFile(path);
         Owned<IFile> file = createIFile(path);
         Owned<IFileIO> io;
         Owned<IFileIO> io;
-        io.setown(file->open(IFOcreaterw));
+        io.setown(file->open(IFOcreate));
 
 
         DBGLOG("Writing c++ to file %s", file->queryFilename());
         DBGLOG("Writing c++ to file %s", file->queryFilename());